Sql 如何获取存储过程的行数?

Sql 如何获取存储过程的行数?,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有一个存储过程,它接受客户机号码并返回某些数据。我有另一个存储过程,它在内部调用第一个存储过程,并且需要使用第一个存储过程中的行计数。 是否有任何地方可以实现这一点,而无需在第一个存储过程中使用临时表(获取结果集)或OUT参数。谢谢。由于您已经从第一个存储过程调用了存储过程,因此您已经能够使用@@ROWCOUNT函数获取返回的行数。下面是使用“%RowCount”的示例 CREATE PROC test1 AS BEGIN SELECT * FROM sys.tables EN


我有一个存储过程,它接受客户机号码并返回某些数据。我有另一个存储过程,它在内部调用第一个存储过程,并且需要使用第一个存储过程中的行计数。

是否有任何地方可以实现这一点,而无需在第一个存储过程中使用临时表(获取结果集)或OUT参数。
谢谢。

由于您已经从第一个存储过程调用了存储过程,因此您已经能够使用
@@ROWCOUNT
函数获取返回的行数。下面是使用“%RowCount”的示例

CREATE PROC test1
AS
BEGIN
    SELECT *
    FROM sys.tables
END

CREATE PROC Test2
AS
BEGIN
    SET NOCOUNT ON;
    EXEC Test1
    PRINT @@ROWCOUNT
END 

EXEC Test2
在我的示例中,我刚刚打印了该值,但您也可以在第二个过程中将其分配给一个变量,并将其用于其他用途。

请参阅关于在存储过程之间共享数据的文章。