2010-09-16 77 views
0

我寫了存儲過程,其中有2個插入查詢和1個更新查詢。其中,插入查詢或更新查詢一次執行。現在我的問題是在每種情況下得到ROWCOUNT。假設是否執行了插入操作,那麼我希望存儲過程將@@ROWCOUNT返回給調用應用程序,這樣應用程序就會知道所需操作是否正確執行。任何人都可以建議/告訴我如何獲取受存儲過程影響的行?存儲過程如何返回ROWCOUNT?

+0

如果你想要@@ ROWCOUNT,爲什麼不直接返回呢? – driis 2010-09-16 08:23:20

回答

0

在您的存儲過程中使用輸出參數來返回插入/更新的RowCount。

Refer MSDN link for more information關於如何使用輸出PARAMS

你可以有多個輸出PARAMS,所以你可以有2個不同的輸出PARAMS每一個爲你的插入和update語句中的第3位。

例子:

CREATE PROCEDURE GetEmployeeData 
    @employeeID INT, 
    @managerID INT **OUTPUT** 
AS 
BEGIN 
.... 
.... 

此外,您可以用分隔符總是串連您2插入/更新的rowcounts並返回它們作爲一個值,例如:「10; 0」 - 當然,這是老式的和「我不會推薦」的方法。

此外,您可以創建一個表變量,並返回包含行數=插入/更新數量和列值=受影響的RowCount的表格。