如何保存"受影响的总行数"作为整数变量

时间:2014-05-06 12:36:24

标签: sql sql-server sql-server-2008 tsql

我希望在运行任何给定查询时保存受影响的总行数,作为我的T-SQL查询中的变量。简而言之,如果我运行的查询返回2348条记录,我希望名为Total的整数变量等于2348.这样我可以使用运行附加代码的if语句,如果找到的总行数给定的查询是0.

我已声明变量@TOTAL并将其设置为等于子查询,当独立运行时,它将返回我想要int变量@TOTAL的行数持。

因此,如果子查询返回490行,我希望int变量@TOTAL等于490.

DECLARE @TOTAL int

set @TOTAL = (select distinct TRADE_REP_ORIG
from trade_archive
where error_code = 'r'
group by TRADE_FIRM_ORIG, TRADE_OFFICE_ORIG, TRADE_REP_ORIG)

print @TOTAL

我尝试在子查询中使用count()函数,但这似乎也不起作用。

2 个答案:

答案 0 :(得分:3)

使用@@ROWCOUNT

Select @@ROWCOUNT as Total, *
From TableName

答案 1 :(得分:1)

这应该有效:

DECLARE @TOTAL int

select @TOTAL = COUNT(DISTINCT TRADE_REP_ORIG)
from trade_archive
where error_code = 'r'

print @TOTAL

请注意,选择不同的值时,GROUP BY对结果没有影响。