将 EXEC() 或 SP_EXECUTESQL 与 SQL 公用表表达式结合使用
如何将 EXEC(@SQL) 或 EXEC SP_EXECUTESQL(@SQL) 与公用表表达式结合使用?
下面不行。
WITH CTE_Customer (ID, Name)
AS
(
EXEC (@strSqlCommand)
)
How do I use EXEC(@SQL) or EXEC SP_EXECUTESQL(@SQL) with Common Table Expressions?
Below does not work.
WITH CTE_Customer (ID, Name)
AS
(
EXEC (@strSqlCommand)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短的回答是你不能:
http://msdn.microsoft.com/en -us/library/ms175972.aspx 说:
“CTE_query_definition 必须满足与创建视图相同的要求”
这基本上表明您只能使用 SELECT 语句。
一些解决方法可能包括使用临时表或表变量,但这实际上取决于上下文。
The short answer is that you cant:
http://msdn.microsoft.com/en-us/library/ms175972.aspx says:
"The CTE_query_definition must meet the same requirements as for creating a view"
Which basically says that you're restricted to SELECT statements only.
Some workarounds might include using temp tables or table variables, but it really depends on context.