RELEASE SAVEPOINT

Name

RELEASE SAVEPOINT -- 刪除一個前面定義的保存點

Synopsis

RELEASE [ SAVEPOINT ] savepoint_name

描述

RELEASE SAVEPOINT 刪除一個目前交易前面定義的保存點。

把一個保存點刪除就令其無法作為回滾點使用,除此之外它沒有其它用戶可見的行為。 它並不能撤銷在保存點建立起來之後執行的命令的影響。 (要撤銷那些命令,參閱 ROLLBACK TO。) 在不再需要的時候刪除一個保存點可以令系統在交易結束之前提前回收一些資源。

RELEASE SAVEPOINT 也刪除所有在指定的保存點建立之後的所有保存點。

參數

savepoint_name

要刪除的保存點的名字。

注意

聲明一個以前沒有定義的保存點名字是一個錯誤。

如果交易在回滾狀態,我們不能釋放一個保存點。

如果多個保存點擁有同樣的名字,只有最近定義的那個才被釋放。

例子

建立並稍後刪除一個保存點:

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

上面的交易將同時插入 3 和 4。

相容性

這條命令遵循 SQL:2003 標準。 標準聲明關鍵字 SAVEPOINT 是必須的。 PostgreSQL 允許省略 SAVEPOINT 關鍵字。

又見

BEGIN, COMMIT, ROLLBACK, ROLLBACK TO, SAVEPOINT