複合ステートメントまたはブロックは、一連のステートメントを論理的にグループ化します。複合ステートメントで作成された一時テーブルと変数は、そのブロックにのみローカルで、ブロックを終了するときに破棄されます。

Usage

[label :] BEGIN [[NOT] ATOMIC]
statement*
[EXCEPTION ex
statement*
]
END
When a block is expected by an IF, LOOP, WHILE, etc. a single statement is also accepted by the parser. Even though the block BEGIN/END is not expected, the statement will execute as if wrapped in a BEGIN/END pair.

Syntax

  • NOT ATOMICまたはATOMIC句が指定されていない場合、ブロックは非アトミックに実行されます;
  • ATOMICが指定された場合、ブロックはアトミックに実行されなければなりません。トランザクションがすでにスレッドに関連付けられている場合、追加のアクションは実行されません - SAVEPOINTやサブトランザクションは現在使用されていません;
  • そうでない場合は、トランザクションがブロックの実行に関連付けられます;
  • ラベルは、このラベルを含むステートメントで使用されている他のラベルと同じであってはなりません。