簡體   English   中英

具有多個更新的SQL Server(t-sql)存儲過程

[英]SQL Server (t-sql) stored procedure with multiple updates

我一直在寫一個存儲過程。 但現在我不確定我是否正確地做這件事。 我有以下代碼:

BEGIN
    UPDATE tblPro 
    SET Email = @p_Email 
    WHERE ProID = @p_proId

    UPDATE tblVisits 
    SET VisitBrief = 'CONFIRMED' 
    WHERE VisitID = @p_visitId

    UPDATE Bookings 
    SET JobConfirmation = 1 
    WHERE BookingID = @p_bookingId

    IF @@ROWCOUNT > 0
    BEGIN
        INSERT INTO tblView (ViewLogType)
        VALUES ('Visit')
    END
    ELSE
        PRINT 'WARNING: Insert Failed' 
END

為了確保所有語句都已執行,在每個更新語句之后使用@@ROWCOUNT > 0更好嗎?

謝謝你的建議

如果要捕獲錯誤,可以使用TRY / CATCH。

如果要保存行數以備以后使用,則應將它們記錄在有興趣保存的語句中。 即使正確執行了該語句,行數仍可能為零(受影響的行數為0)。

如果希望其中一條語句失敗,則可以回滾,也可以使用事務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM