18
从存储过程的结果集中选择列
我有一个存储过程返回80列和300行。我想编写一个选择,使这些列中有2个。就像是 SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2' 当我使用以上语法时,出现错误: “无效的列名”。 我知道最简单的解决方案是更改存储过程,但是我没有编写它,也无法更改它。 有什么办法可以做我想要的吗? 我可以制作一个临时表来放入结果,但是因为有80列,所以我需要制作一个80列的临时表才能得到2列。我想避免跟踪所有返回的列。 我尝试WITH SprocResults AS ....按照Mark的建议使用,但出现2个错误 关键字“ EXEC”附近的语法不正确。')'附近的语法不正确。 我尝试声明一个表变量,但出现以下错误 插入错误:列名或提供的值数与表定义不匹配 如果我尝试 SELECT * FROM EXEC MyStoredProc 'param1', 'param2' 我得到错误: 关键字“ exec”附近的语法不正确。