纠正一个事务
今天您收到了一段不正确的脚本。它由一位同事编写,但他不知道如何完成。您的同事尝试将 $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