文档首页/ 云数据库 GaussDB/ 开发指南(分布式_V2.0-10.x)/ FAQ-非透明多写/ 数据库系统概述/ 如何在GaussDB当前事务中建立保存点及删除保存点?
更新时间:2026-07-28 GMT+08:00
分享

如何在GaussDB当前事务中建立保存点及删除保存点?

答:保存点是事务中的一个特殊记号,它允许将那些在它建立后执行的命令全部回滚,把事务的状态恢复到保存点所在的时刻。SAVEPOINT用于在当前事务里建立一个新的保存点。RELEASE SAVEPOINT删除一个当前事务先前定义的保存点。

具体操作请参见如下示例:

--创建SCHEMA及表table1。
gaussdb=# CREATE SCHEMA tpcds;
gaussdb=# CREATE TABLE tpcds.table1(a int);

--开启事务。
gaussdb=# START TRANSACTION;

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

--建立保存点。
gaussdb=# SAVEPOINT my_savepoint;

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

--删除保存点。
gaussdb=# RELEASE SAVEPOINT my_savepoint;

--提交事务。
gaussdb=# COMMIT;

--删除SCHEMA。
gaussdb=# DROP SCHEMA tpcds CASCADE;

相关文档