我需要从另一个存储过程Foo
调用存储过程Bar
。问题是Foo
返回 2记录集,而Bar
我只想分析第一个记录集。
我发现了很多关于如何将单个记录集作为被调用者存储过程结果处理的建议。但没有关于多重的事情。
答案 0 :(得分:0)
只有在创建CLR存储过程(AKA,用.NET编写的sp)
时才能在纯粹的transact SQL中完成此操作。如果您有权访问Foo
- 您可以为其添加参数,以告知返回哪个结果集。
像这样的伪代码:
ALTER Procedure dbo.Foo
(
@ResultSetIndicator smallint = 0
)
AS
BEGIN
if (@ResultSetIndicator = 0)
BEGIN
SELECT xxx
END
if (@ResultSetIndicator = 1)
BEGIN
SELECT yyy
END
END