開発者リファレンス : データ アクセス方法 : SQL Engine Reference : SQL 構文リファレンス : BEGIN [ATOMIC]
  
このページをシェアする                  
BEGIN [ATOMIC]
備考
BEGIN および END キーワードは、ストアド プロシージャ、ユーザー定義関数、またはトリガー宣言の本体を定義するために使用されます。キーワードにより、プロシージャ、関数、トリガー内に複合ステートメントが作成されます。
ATOMIC キーワードを追加すると、ステートメントのブロックが 1 つのトランザクションであるかのように、トランザクション動作を制御することができます。ATOMIC は、ブロック内のすべてのステートメントは成功するかロール バックするか、いずれかが必要であることを示します。
次の例では、BEGIN ... END ブロックが ATOMIC として設定されています。両方の INSERT がエラーなしで実行された場合にのみ、レコードが挿入されます。どちらかのステートメントがエラーを返す(この場合は 2 番目の INSERT がステータス 5 を返す)場合、レコードは挿入されません。
CREATE PROCEDURE Add_Tuition();
BEGIN ATOMIC
INSERT INTO Tuition(ID, Degree, Residency, Cost_Per_Credit, Comments) VALUES (9, 'Test', 0, 100.0, 'Training');
INSERT INTO Tuition(ID, Degree, Residency, Cost_Per_Credit, Comments) VALUES (8, 'Test', 0, 100.0, 'Training');
END
関連項目
END
CREATE PROCEDURE
CREATE TRIGGER