@@ROWCOUNT 的正确类型是什么?

What is the correct type for @@ROWCOUNT?

我正在 SQL Server 2008 中编写存储过程,我需要计算受查询影响的行数。

DECLARE
    @my_rows                    AS INT

然后

SELECT *
FROM a table
WHERE some conditions
SET @my_rows=@@ROWCOUNT

如果我将 my_rows 声明为 varchar 它可以正常工作,但如果我声明为 INT 我会收到以下错误:

Arithmetic overflow error converting expression to data type tinyint.

要声明的正确类型是什么?我认为行数只能是整数,并且介于 0 和总行数之间。

根据 MSDN,@@ROWCOUNT 的正确 return 类型是 int。

SQL 代码很好,即使 @my_rows 声明为 tinyint.

也能正常工作