我对现有的存储过程(dbo.pr1)进行了修改,以便它现在调用第二个存储过程(dbo.pr2)。
这两个存储过程都返回带有最终SELECT查询的数据。
在dbo.pr1中,我现在添加了一行:
EXEC @var1 = dbo.pr2我这样做是为了将dbo.pr2中的值赋值给变量@var1 (dbo.pr2返回一个位)。
但是,当我执行dbo.pr1时,我会得到两个结果,而不是预期的结果。我在dbo.pr1末尾得到SELECT查询结果,但也从dbo.pr2获得SELECT查询结果。
我不能更改dbo.pr2,因为它正在系统的其他地方使用。有什么方法可以在执行dbo.pr1时阻止它的结果出现?
发布于 2015-01-19 15:50:48
对来电者返回的内容进行处理,
SET NOCOUNT ON;
...
DECLARE @resultsOfPr2 TABLE
(
...
);
INSERT @resultsOfPr2
EXEC @var1 = [dbo].[pr2];小提琴在这里
注意:我假设选择一个单一的结果集。
https://stackoverflow.com/questions/28028304
复制相似问题