2017-04-18 82 views
0

我曾經使用@@ROWCOUNT來統計受影響的行數。統計SQL Server中受影響的行數

DECLARE @TotCount INT 

DELETE * FROM TabA WHERE A = 'a' 
SET @TotCount = @TotCount + @@ROWCOUNT 

DELETE * FROM TabB WHERE B = 'b' 
SET @TotCount = @TotCount + @@ROWCOUNT 

UPDATE TabC SET C = 'c' WHERE C='d' 
SET @TotCount = @TotCount + @@ROWCOUNT 

不過想到的情況,其中劇本有很多DELETEUPDATE語句。有沒有辦法一次統計所有受影響的行數?

+0

您可以將'@@ ROWCOUNT'的'insert'值插入'temp表'中,然後使用'select'語句返回它。 – csharpbd

+0

請在[這個問題]中檢查@Nico的答案(http://stackoverflow.com/questions/42542356/asp-net-sql-server-stored-procedure-return-message/42647179#42647179)。 – csharpbd

+0

@ csharpbd-我想在腳本末尾一次獲得受影響的行數 –

回答

0

不是我所見過的。 @@ ROWCOUNT總是受上一條語句影響的行數,並且一次只能從一個表中刪除。

有一個名爲MERGE的命令,允許一次執行插入/更新/刪除操作,但它又一次只能影響一個表。

+0

除了@@ ROWCOUNT還有其他方法嗎? –

+1

編號@@ ROWCOUNT是唯一的方法 – SpaceUser7448

相關問題