Использование EXEC () или SP_EXECUTESQL с выражениями общих таблиц SQL - PullRequest
5 голосов
/ 20 июля 2011

Как использовать EXEC (@SQL) или EXEC SP_EXECUTESQL (@SQL) с общими табличными выражениями?

ниже не работает.

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

1 Ответ

6 голосов
/ 20 июля 2011

Короткий ответ таков: вы не можете:

http://msdn.microsoft.com/en-us/library/ms175972.aspx говорит: «CTE_query_definition должна соответствовать тем же требованиям, что и для создания представления», что в основном говорит о том, что вы ограничены утверждениями SELECTтолько.

Некоторые обходные пути могут включать использование временных таблиц или табличных переменных, но это действительно зависит от контекста.

...