แก้ไข transaction ที่มีข้อผิดพลาด
วันนี้คุณได้รับสคริปต์ที่เขียนไม่ถูกต้อง เพื่อนร่วมงานของคุณเป็นคนเขียน แต่ไม่รู้ว่าจะเขียนให้สมบูรณ์อย่างไร เขาพยายามโอนเงิน $100 จากบัญชี 1 ไปยังบัญชี 5 และบันทึกรายการเหล่านั้นลงในตาราง transactions
คุณสังเกตเห็นข้อผิดพลาดหลายจุดทันที เนื่องจาก SQL Server ไม่รู้จักคำสั่ง transaction ที่ใช้ในสคริปต์นี้
ช่วยแก้ไขสคริปต์ให้ถูกต้องได้เลย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transactions and Error Handling in 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