文档首页 > > 开发指南> SQL参考> SQL语法> RELEASE SAVEPOINT

RELEASE SAVEPOINT

分享
更新时间: 2019/06/24 GMT+08:00

功能描述

RELEASE SAVEPOINT删除一个当前事务先前定义的保存点。

把一个保存点删除就令其无法作为回滚点使用,除此之外它没有其它用户可见的行为。它并不能撤销在保存点建立起来之后执行的命令的影响。要撤销那些命令可以使用ROLLBACK TO SAVEPOINT 。在不再需要的时候删除一个保存点可以令系统在事务结束之前提前回收一些资源。

RELEASE SAVEPOINT也删除所有在指定的保存点建立之后的所有保存点。

注意事项

  • 不能RELEASE一个没有定义的保存点,语法上会报错。
  • 如果事务在回滚状态,则不能释放保存点。
  • 如果多个保存点拥有同样的名字,只有最近定义的那个才被释放。

语法格式

RELEASE [ SAVEPOINT ] savepoint_name;

参数说明

savepoint_name

要删除的保存点的名字

示例

--创建一个新表。
CREATE TABLE tpcds.table1(a int);

--开启事务。
START TRANSACTION;

--插入数据。
INSERT INTO tpcds.table1 VALUES (3);

--建立保存点。
SAVEPOINT my_savepoint;

--插入数据。
INSERT INTO tpcds.table1 VALUES (4);

--删除保存点。
RELEASE SAVEPOINT my_savepoint;

--提交事务。
COMMIT;

--查询表的内容,会同时看到3和4。
SELECT * FROM tpcds.table1;

--删除表。
DROP TABLE tpcds.table1;
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区