我有一个存储过程返回80列和300行.我想写一个选择,获得其中2列.就像是
SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'
Run Code Online (Sandbox Code Playgroud)
当我使用上面的语法时,我得到错误:
"无效的列名称".
我知道最简单的解决方案是更改存储过程,但我没有写它,我无法改变它.
有什么办法可以做我想要的吗?
我可以创建一个临时表来放置结果,但因为有80列所以我需要制作一个80列的临时表来获得2列.我想避免追踪返回的所有列.
我WITH SprocResults AS ....按照马克的建议尝试使用,但我遇到了2个错误
关键字"EXEC"附近的语法不正确.
')'附近的语法不正确.
我尝试声明一个表变量,我得到以下错误
插入错误:列名或提供的值数与表定义不匹配
如果我尝试
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
我得到错误:
关键字'exec'附近的语法不正确.