以下のSQL文で、どのような結果が返されますか。
DESC employees
名前 NULL? 型
-------------------- -------- ------------
EMPLOYEE_ID NOT NULL NUMBER(6)
SALARY NOT NULL NUMBER(8,2)
INSERT INTO employees (employee_id, salary)
VALUES (100, 1000), (101, 2000), (102, 3000), (103, 4000), (104, 5000);A5件のデータが挿入される✓
B3件のデータが挿入される
C1件のデータが挿入される
Dエラーになる
正解:A解説
Oracle Database 23ai以降では、表値コンストラクタを使ってVALUES句に複数の行をカンマ区切りで指定できます。1回のINSERT文で5行がまとめて挿入されます。
INSERT INTO employees (employee_id, salary)
VALUES (100, 1000), (101, 2000), (102, 3000), (103, 4000), (104, 5000);
5行が作成されました。表値コンストラクタのポイント
- 各行の値の数は、列リスト(省略時は表のすべての列)の数と一致している必要があります。
- INSERT文のほか、SELECT文のFROM句やMERGE文のUSING句でも使用できます。