动态变量和CTE之间的差异

时间:2017-10-05 16:06:33

标签: sql sql-server dynamic common-table-expression

使用动态变量和CTE(公用表表达式)之间有什么区别

动态:

 DECLARE @id nvarchar

 SET @id = ( SELECT ID_CHIMQ 
 FROM Table1
 where Name = 'Ben')

 EXEC sp_executesql @id

CTE:

 WITH cte (Col1, Col2, Col3)
 AS
 (
 SELECT Col1, Col2, Col3
 FROM Table
 )

 SELECT * FROM cte

这两者之间的区别在于何时使用其中一个和性能问题等?

感谢

0 个答案:

没有答案