基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
标记保存点
更新时间:2026-11-06 11:36:49
SAVEPOINT 语句可以在事务过程中标记一个"保存点",您可以选择将事务回滚到这个保存点。保存点是可选的,一个事务过程中可以标记多个保存点。
注意
保存点在事务提交或整体回滚(ROLLBACK 不带 TO SAVEPOINT 子句)后会被自动释放。此后再执行 ROLLBACK TO 回滚到该保存点将报 OBE-01086 错误。因此请避免在依赖保存点回滚的错误处理逻辑之前提交事务。
标记保存点
事务开启后,您可以使用以下语句标记保存点。
SAVEPOINT pointname;
其中,pointname 表示事务保存点的名称。
以下示例开启一个事务,设置多个保存点信息。
obclient [SYS]> SET session autocommit=off;
Query OK, 0 rows affected
obclient [SYS]> BEGIN;
Query OK, 0 rows affected
obclient [SYS]> INSERT INTO ordr(id, name) VALUES(6,'FR');
Query OK, 1 row affected
obclient [SYS]> SAVEPOINT fr;
Query OK, 0 rows affected
obclient [SYS]> INSERT INTO ordr(id, name) VALUES(7,'RU');
Query OK, 1 row affected
obclient [SYS]> SAVEPOINT ru;
Query OK, 0 rows affected
obclient [SYS]> INSERT INTO ordr(id, name) VALUES(8,'CA');
Query OK, 1 row affected
obclient [SYS]> SAVEPOINT ca;
Query OK, 0 rows affected