云数据库 GaussDB-ROLLBACK TO SAVEPOINT:示例

时间:2025-02-12 15:08:14

示例

 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233
--开启事务。gaussdb=# START TRANSACTION;--设置保存点my_savepoint。gaussdb=# SAVEPOINT my_savepoint;--回滚至保存点my_savepoint。gaussdb=# ROLLBACK TO SAVEPOINT my_savepoint;--游标位置不受保存点回滚的影响。gaussdb=# DECLARE foo CURSOR FOR SELECT 1 UNION SELECT 2;--设置保存点foo。gaussdb=# SAVEPOINT foo;--读取一条数据,为第一条数据。gaussdb=# FETCH 1 FROM foo; ?column? ----------        1--回滚至保存点foo。gaussdb=# ROLLBACK TO SAVEPOINT foo;--读取一条数据,为第二条数据。gaussdb=# FETCH 1 FROM foo; ?column? ----------        2--释放保存点。gaussdb=# RELEASE SAVEPOINT my_savepoint;--结束事务。gaussdb=# COMMIT;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0669.html