Sql 来自CTE的多个插件
我有一个非常复杂的CTE,它有数百行代码Sql 来自CTE的多个插件,sql,sql-server,Sql,Sql Server,我有一个非常复杂的CTE,它有数百行代码 ;WITH Data_alert AS ( ) 我喜欢从CTE Data_alert的结果中插入变量表,然后再插入数据库表 从我看来,这可能是不可能的,除非我附加另一个CTE的第一个 因此: WITH Data_alert AS ( ), Data_alert2 AS ( ) 任何帮助都会有帮助。如果您有一个复杂的查询需要多次引用,那么您可能需要某种类型的临时表: WITH
;WITH Data_alert
AS (
)
我喜欢从CTE Data_alert的结果中插入变量表,然后再插入数据库表
从我看来,这可能是不可能的,除非我附加另一个CTE的第一个
因此:
WITH Data_alert
AS (
),
Data_alert2 AS
(
)
任何帮助都会有帮助。如果您有一个复杂的查询需要多次引用,那么您可能需要某种类型的临时表:
WITH Data_alert AS (
. . .
)
SELECT *
INTO #Data_alert
FROM Data_alert;
然后可以在多个查询中重复使用临时表
从性能角度来看,这保证了底层复杂代码只执行一次。此外,还可以添加索引以进一步提高性能
从处理的角度来看,这确保了脚本中的不同步骤可以看到相同的数据,即使基础数据发生了变化。“从我看来,除非在第一个CTE上附加另一个CTE,否则可能无法看到相同的数据。”为什么不这样做?你在哪里看到的?您可以在一条语句中定义多个CTE,是;我一直在做。你可以用INSERTAn的OUTPUT子句插入到两个不同的表中,这可能会有所帮助,但是你的问题很模糊,很难说清楚。谢谢。我要做的是插入@Data\u Input,然后使用CDE Data\u alert插入到另一个表中。因此,我喜欢从CDE Data_alert进行多个插入。