ABORT
現在実行中のトランザクションを停止し、そのトランザクションで行われたすべての更新を破棄します。ABORT はすでに完了したトランザクションに対しては影響を与えません。
このコマンドは ROLLBACK コマンドと同じ機能を実行します。詳細については、ROLLBACKを参照してください。
構文
ABORT [ WORK | TRANSACTION ]
パラメータ
- WORK
-
オプションキーワード
- TRANSACTION
-
オプションキーワード。WORK と TRANSACTION は同義語です。
例
次の例では、テーブルを作成し、データがそのテーブルに挿入されるトランザクションを開始します。次に、ABORT コマンドはデータの挿入をロールバックし、テーブルを空にします。
次のコマンドを実行すると、MOVIE_GROSS という名前のテーブルが作成されます。
create table movie_gross( name varchar(30), gross bigint );
次のコマンドセットを実行すると、2 つのデータ行をテーブルに挿入するトランザクションが開始されます。
begin; insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000); insert into movie_gross values ( 'Star Wars', 10000000 );
その後、次のコマンドを実行すると、テーブルからデータが選択され、挿入が正常に実行されたことが示されます。
select * from movie_gross;
コマンド出力は、両方の行が正しく挿入されたことを示します。
name | gross ------------------------+---------- Raiders of the Lost Ark | 23400000 Star Wars | 10000000 (2 rows)
このコマンドはデータ変更を、トランザクションの開始時点までロールバックします。
abort;
テーブルからデータを選択すると、空のテーブルが表示されます。
select * from movie_gross; name | gross ------+------- (0 rows)