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是什么意思】

    猜你喜歡