Как использовать EXEC (@SQL) или EXEC SP_EXECUTESQL (@SQL) с общими табличными выражениями?
ниже не работает.
WITH CTE_Customer (ID, Name) AS ( EXEC (@strSqlCommand) )
Короткий ответ таков: вы не можете:
http://msdn.microsoft.com/en-us/library/ms175972.aspx говорит: «CTE_query_definition должна соответствовать тем же требованиям, что и для создания представления», что в основном говорит о том, что вы ограничены утверждениями SELECTтолько.
Некоторые обходные пути могут включать использование временных таблиц или табличных переменных, но это действительно зависит от контекста.