一个存储过程如何从另一个执行结果中读取第一个记录集?

时间:2017-03-21 11:18:24

标签: sql-server stored-procedures

我需要从另一个存储过程Foo调用存储过程Bar。问题是Foo返回 2记录集,而Bar我只想分析第一个记录集。

我发现了很多关于如何将单个记录集作为被调用者存储过程结果处理的建议。但没有关于多重的事情。

1 个答案:

答案 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