INSERT ALL / INSERT FIRST の使い方

1 つの文で、いくつもの表に入れる(Oracle)

書き方

INSERT ALL INTO 表1 (列…) VALUES (…) INTO 表2 (列…) VALUES (…) SELECT … FROM …;
INSERT ALL WHEN 条件 THEN INTO 表 … ELSE INTO 表 … SELECT …;
INSERT FIRST WHEN 条件 THEN INTO … WHEN … THEN INTO … SELECT …;

最後の SELECT の 1 行ごとに、INTO の表へ入れます。WHEN を付けると条件に合う INTO だけ。ALL は合うものすべてに、FIRST は最初に合った 1 つだけに入れます。SELECT … FROM DUAL なら 1 行ずつ値を書けます。

例

INSERT ALL INTO a VALUES (1) INTO b VALUES (2) SELECT * FROM DUAL;

実際に打って練習する

Oracle コースの Lv20「一度に配る INSERT ALL」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Oracle SQL・PL/SQL の構文一覧へ戻る