首頁  >  文章  >  資料庫  >  @@ROWCOUNT全局变量

@@ROWCOUNT全局变量

WBOY
WBOY原創
2016-06-07 16:16:461347瀏覽

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