[英]Using a common table expression with an OUTPUT clause
我看到使用CTE v / s临时表获得了巨大的性能提升。 目前我有:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
我想在这里使用CTE。 可能吗?
不,你不能在CTE_query_definition
使用INSERT
语句:
指定SELECT语句,其结果集填充公用表表达式。 CTE_query_definition的SELECT语句必须满足与创建视图相同的要求,但CTE无法定义另一个CTE。 有关更多信息,请参阅“备注”部分和“CREATE VIEW”(Transact-SQL)。
如果定义了多个CTE_query_definition,则查询定义必须由以下集合运算符之一连接:UNION ALL,UNION,EXCEPT或INTERSECT。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.