[英]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.