@@ROWCOUNT全局变量

WBOY
リリース: 2016-06-07 16:16:46
オリジナル
1399 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート