return @@Rowcount是什么意思

2024-12-30 18:44:41
推荐回答(2个)
回答1:

返回上一语句受影响的行数!和@ERROR一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中。任何不返回的语句都将这个变量置为0!比如经常使用的IF语句。废话少说,上代码!

DECLARE @RowCountVar INT

Update AF_CarOil SET OilType = '五号汽油'--执行后@@ROWCOUNT为2

SET @RowCountVar = @@ROWCOUNT --执行后@@ROWCOUNT为1

IF @@ROWCOUNT = 1 --执行后@@ROWCOUNT为0

BEGIN

PRINT '影响的行数为1'

PRINT @@ROWCOUNT

END

IF @RowCountVar <> 0

BEGIN

PRINT '受影响的行数为:' + STR(@RowCountVar)

END

-----------------------------------------------------------------

(2 行受影响)

影响的行数为 1

0

受影响的行数为: 2

分析:上面的代码中在执行Update语句之后,受影响的行数为2行,然后将受影响的行数保存到事先声明的局部变量中,赋值语句实际上影响的行数为1行,在下面的IF语句中进行了跳转,这个地方是关键,这并不是Update语句受影响的行数是1,而是将@@ROWCOUNT将的赋给局部变量的过程中变成了1。在执行后IF @@ROWCOUNT = 1的判断之后@@ROWCOUNT的数值重新被赋值为了0!

回答2:

返回 @行

重点词汇

return

回转,返回; 复发,又来; 送还; 言归正传; 归来,返乡; 来回,汇成; 赢利; 统计表。

1.When you return to a place, you go back there after you have been away.        

Blair will return to London tonight...

今晚布莱尔将返回伦敦。

2.Your return is your arrival back at a place where you had been before.    

Ryle explained the reason for his sudden return to London.

赖尔解释了他突然返回伦敦的原因。

3.Back at the station the Chief Inspector returned the call      

探长回到警察局后回了电话

4.Official reports in Algeria suggest that calm is returning to the country      

阿尔及利亚的官方报告表明这个国家正在恢复往日的平静。

5.Life has improved and returned to normal.      

生活已经改善并恢复了正常。