功能描述
RELEASE SAVEPOINT删除一个当前事务先前定义的保存点。
把一个保存点删除就令其无法作为回滚点使用,除此之外它没有其它用户可见的行为。它并不能撤销在保存点建立起来之后执行的命令的影响。要撤销那些命令可以使用ROLLBACK TO SAVEPOINT 。在不再需要的时候删除一个保存点可以令系统在事务结束之前提前回收一些资源。
RELEASE SAVEPOINT也删除所有在指定的保存点建立之后的所有保存点。
注意事项
- 不能RELEASE一个没有定义的保存点,语法上会报错。
- 如果事务在回滚状态,则不能释放保存点。
- 如果多个保存点拥有同样的名称,只有最近定义的那个才被释放。
语法格式
RELEASE [ SAVEPOINT ] savepoint_name;
参数说明
savepoint_name
要删除的保存点的名称
示例
``` --创建一个新表。 postgres=# CREATE TABLE tpcds.table1(a int);
--开启事务。 postgres=# START TRANSACTION;
--插入数据。 postgres=# INSERT INTO tpcds.table1 VALUES (3);
--建立保存点。 postgres=# SAVEPOINT my_savepoint;
--插入数据。 postgres=# INSERT INTO tpcds.table1 VALUES (4);
--删除保存点。 postgres=# RELEASE SAVEPOINT my_savepoint;
--提交事务。 postgres=# COMMIT;
--查询表的内容,会同时看到3和4。 postgres=# SELECT * FROM tpcds.table1;
--删除表。 postgres=# DROP TABLE tpcds.table1; ```
相关链接
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
文集目录
暂无数据