首页 >数据库 >mysql教程 >@@ROWCOUNT全局变量

@@ROWCOUNT全局变量

WBOY
WBOY原创
2016-06-07 16:16:461403浏览

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

  返回上一语句受影响的行数!和@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!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn