プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

SAVEPOINT

用途

SAVEPOINT文を使用すると、後でロールバックできるシステム変更番号(SCN)の名前を作成できます。


関連項目:

  • セーブポイントの詳細は、『Oracle Database概要』を参照してください。

  • トランザクションのロールバックの詳細は、「ROLLBACK」を参照してください。

  • 現行トランザクションの特性の設定については、「SET TRANSACTION」を参照してください。


前提条件

ありません。

構文

savepoint::=

savepoint.gifの説明が続きます。
図「savepoint.gif」の説明

セマンティクス

savepoint

作成するセーブポイントの名前を指定します。

同一トランザクション内のセーブポイント名は、区別する必要があります。同じ識別子のセーブポイントを作成した場合、最初のセーブポイントは消去されます。セーブポイントを作成した後は、処理の継続、作業のコミット、トランザクション全体のロールバックまたはセーブポイントまでのロールバックを実行できます。

セーブポイントの作成例: 次の文は、サンプル表hr.employeesBandaGreeneの給与を更新するために、部門の給与合計が314,000ドルを超えていないことを確認してから、Greeneの給与を再入力します。

UPDATE employees 
    SET salary = 7000 
    WHERE last_name = 'Banda';
SAVEPOINT banda_sal;

UPDATE employees 
    SET salary = 12000 
    WHERE last_name = 'Greene';
SAVEPOINT greene_sal;

SELECT SUM(salary) FROM employees;

ROLLBACK TO SAVEPOINT banda_sal;
 
UPDATE employees 
    SET salary = 11000 
    WHERE last_name = 'Greene';
 
COMMIT;