程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> @@ROWCOUNT全局變量

@@ROWCOUNT全局變量

編輯:關於MYSQL數據庫

      返回上一語句受影響的行數!和@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!

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved