他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

RELEASE SAVEPOINT

名前

RELEASE SAVEPOINT -- 事前に定義されたセーブポイントを破棄

概要

RELEASE [ SAVEPOINT ] savepoint_name

説明

RELEASE SAVEPOINTは、現在のトランザクションで事前に定義されていたセーブポイントを破棄します。

セーブポイントを破棄すると、ロールバック時点として使用できなくなります。 他にユーザが気付くような動作はありません。 これは、セーブポイント確立後に実行されたコマンドの効果を取消しません。 (これを行う方法はROLLBACK TO SAVEPOINTを参照してください。) 不要になったセーブポイントを破棄することにより、システムはトランザクションの終了前に多少のリソースを回収することができます。

また、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標準に準拠しています。 SQL:2003標準では、SAVEPOINTは必須であると規定しています。 PostgreSQLではSAVEPOINTキーワードを省略することができます。

関連項目

BEGIN, COMMIT, ROLLBACK, ROLLBACK TO SAVEPOINT, SAVEPOINT