SQL Server - 向存储过程的结果添加一列

时间:2016-09-22 14:56:06

标签: sql-server stored-procedures sql-server-2000

我在SQL Server中有一个像这样执行的存储过程

EXEC @return_value = SP
       @value1 = 'A',
       @value2 = 'B'

结果是:

value3 | value 4 | value 5

我需要将value1和value2列添加到结果中(是的,我用来执行存储过程的相同)。没有机会更改存储过程,因为它来自另一个项目。有可能吗?

我经常与甲骨文合作,所以我不知道这可能是一件简单的事,或者说它可能无法完成。

感谢您的回答!

2 个答案:

答案 0 :(得分:2)

将Proc Results存储到临时表。

https://stackoverflow.com/a/1228165/6167855

然后执行类似

的操作
SELECT @value1, @value2, t.* FROM #TempTable t

答案 1 :(得分:0)

不改变存储过程,获得所需结果的一种方法是

select *,
@value1,
@value2  
from openrowset
('SQLNCLI',
'Server=yourinstancename;
Trusted_Connection=yes;',
'EXEC yourproc ''variables''')

注意,如果你得到两个结果集,第二个将被忽略