RELEASE SAVEPOINT

释放保存点—销毁先前定义的保存点

Synopsis

RELEASE [ SAVEPOINT ] savepoint_name

Description

RELEASE SAVEPOINT销毁先前在当前事务中定义的保存点。

销毁一个保存点使其无法用作回滚点,但是它没有其他用户可见的行为。它不会撤销构建保存点后执行的命令的效果。 (为此,请参阅回滚到保存点。)在不再需要保存点时销毁该保存点,使系统可以在事务结束之前回收一些资源。

RELEASE SAVEPOINT还将销毁在构建命名保存点之后构建的所有保存点。

Parameters

  • savepoint_name

    • 要销毁的保存点的名称。

Notes

指定先前未定义的保存点名称是错误的。

当事务处于中止状态时,无法释放保存点。

如果多个保存点具有相同的名称,则仅释放最近定义的一个。

Examples

要构建并随后销毁一个保存点:

BEGIN;
    INSERT INTO table1 VALUES (3);
    SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (4);
    RELEASE SAVEPOINT my_savepoint;
COMMIT;

上述 Transaction 将同时插入 3 和 4.

Compatibility

该命令符合 SQL 标准。该标准指定关键字SAVEPOINT为必填项,但 PostgreSQL 允许省略。

See Also

BEGIN, COMMIT, ROLLBACK, 回滚到保存点, SAVEPOINT