修正一個交易
今天你拿到了一段不正確的指令碼。這是你同事寫的,他不知道該如何把它完成。你的同事嘗試把 $100 從帳戶 1 轉到帳戶 5,並把這些動作記錄到 transactions 資料表。
你立刻發現有好幾個錯誤。SQL Server 無法辨識裡面使用的交易陳述式。
你能把這段指令碼修正嗎?
本練習屬於課程
SQL Server 的交易與錯誤處理
練習說明
- 執行程式碼以確認確實有錯誤。
- 修正每個錯誤。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
BEGIN TRY
START TRAN;
UPDATE accounts SET current_balance = current_balance - 100 WHERE account_id = 1;
INSERT INTO transactions VALUES (1, -100, GETDATE());
UPDATE accounts SET current_balance = current_balance + 100 WHERE account_id = 5;
INSERT INTO transactions VALUES (5, 100, GETDATE());
FINISH TRAN;
END TRY
BEGIN CATCH
UNDO TRAN;
END CATCH