SQL Server:计算第二个结果集中的行数

时间:2019-02-19 13:33:08

标签: sql-server stored-procedures

我正在研究存储过程SPROC1,该存储过程引用了另一个存储过程SPROC2以获取记录数。问题是,SPROC2返回两个结果集。

我需要单独获取SPROC1中第二个结果集的计数。

我尝试使用以下查询,但返回0

EXEC SPROC2 @Id
SELECT @@rowcount

使用@@rowcount或任何其他选择还有其他可能性吗?

1 个答案:

答案 0 :(得分:2)

我在存储过程中将子句NOCOUNT设置为OFF,它起作用了:

ALTER PROCEDURE SPROC2 
@Id int 
AS
BEGIN

    SET NOCOUNT OFF;

SELECT * FROM TABLE1 WHERE SYSTEM_ID < @Id

SELECT * FROM TABLE2 WHERE SYSTEM_ID < @Id

END
GO

然后运行

EXEC SPROC2 @Id   -- with @Id set to a meaning value
SELECT  @@rowcount

它返回了TABLE2计数。