@@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
.
也能正常工作
我正在 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
.