开始使用免费开始使用

使用保存点

您的同事 Anita 需要帮助。她编写了一个使用保存点的脚本,但运行不成功。脚本先标记第一个保存点 savepoint1,然后插入一位客户的数据。接着,脚本再标记另一个保存点 savepoint2,并再次插入另一位客户的数据。之后,它对这两个保存点都执行回滚。最后,脚本再标记一个保存点 savepoint3,并插入另一位客户的数据。

Anita 告诉您,她的脚本因为存在一些错误而无法运行,但她不知道如何修复。您能帮助她吗?

本练习是课程的一部分

SQL Server 中的事务与错误处理

查看课程

练习说明

  • 运行代码以确认存在错误。
  • 更正每一个错误。

交互式实操练习

通过完成这段示例代码来试试这个练习。

BEGIN TRAN;
	-- Mark savepoint1
	savepoint1 SAVE TRAN;
	INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');

	-- Mark savepoint2
    savepoint2 SAVE TRAN;
	INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');

	-- Rollback savepoint2
	savepoint2 ROLLBACK TRAN;
    -- Rollback savepoint1
	savepoint1 ROLLBACK TRAN;

	-- Mark savepoint3
	savepoint3 SAVE TRAN;
	INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;
编辑并运行代码