将EXEC()或SP_EXECUTESQL与SQL公用表表达式一起使用

时间:2011-07-20 17:01:57

标签: sql-server exec common-table-expression sp-executesql

如何将EXEC(@SQL)或EXEC SP_EXECUTESQL(@SQL)与公用表表达式一起使用?

下面不起作用。

WITH CTE_Customer (ID,  Name)
AS
(
    EXEC (@strSqlCommand)
)

1 个答案:

答案 0 :(得分:6)

简短的回答是你不能:

http://msdn.microsoft.com/en-us/library/ms175972.aspx说: “CTE_query_definition必须满足与创建视图相同的要求” 这基本上说你只限于SELECT语句。

一些解决方法可能包括使用临时表或表变量,但它实际上取决于上下文。