return @@Rowcount是什么意思


return @@Rowcount是什么意思

文章插图
返回上一语句受影响的行数!和@ERROR一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中 。任何不返回的语句都将这个变量置为0!比如经常使用的IF语句 。废话少说,上代码!DECLARE @RowCountVar INTUpdate AF_CarOil SET OilType = '五号汽油'--执行后@@ROWCOUNT为2SET @RowCountVar = @@ROWCOUNT --执行后@@ROWCOUNT为1IF @@ROWCOUNT = 1 --执行后@@ROWCOUNT为0BEGIN PRINT '影响的行数为1'PRINT @@ROWCOUNTENDIF @RowCountVar <> 0BEGIN PRINT '受影响的行数为:' + STR(@RowCountVar)END-----------------------------------------------------------------(2 行受影响)影响的行数为 10受影响的行数为: 2 分析:上面的代码中在执行Update语句之后,受影响的行数为2行,然后将受影响的行数保存到事先声明的局部变量中,赋值语句实际上影响的行数为1行,在下面的IF语句中进行了跳转,这个地方是关键,这并不是Update语句受影响的行数是1,而是将@@ROWCOUNT将的赋给局部变量的过程中变成了1 。在执行后IF @@ROWCOUNT = 1的判断之后@@ROWCOUNT的数值重新被赋值为了0!
【return @@Rowcount是什么意思】

    推荐阅读