我正在研究存储过程SPROC1
,该存储过程引用了另一个存储过程SPROC2
以获取记录数。问题是,SPROC2
返回两个结果集。
我需要单独获取SPROC1
中第二个结果集的计数。
我尝试使用以下查询,但返回0
EXEC SPROC2 @Id
SELECT @@rowcount
使用@@rowcount
或任何其他选择还有其他可能性吗?
答案 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计数。