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

Dee*_*zed 5 sql-server exec common-table-expression sp-executesql

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

以下不起作用.

WITH CTE_Customer (ID,  Name)
AS
(
    EXEC (@strSqlCommand)
)
Run Code Online (Sandbox Code Playgroud)

Mic*_*art 6

简短的回答是你不能:

http://msdn.microsoft.com/en-us/library/ms175972.aspx说:"CTE_query_definition必须满足与创建视图相同的要求"这基本上表示您仅限于SELECT语句.

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