今回はOracleを使ってのデータの一括登録方法ってのを紹介します~
って言うのも、いつも通りMysqlみたいに「一括登録しよ~」って思い、↓みたいなinsert文
を書いたらエラーが出たんです
INSERT INTO テーブル名 (カラム名1, カラム名2, カラム名3) VALUES
(値1, 値2, 値3),
(値1, 値2, 値3),
(値1, 値2, 値3),
(値1, 値2, 値3);
Oracleじゃあこれは通用しないんですよ~てなわけで一括Insertの方法を共有します!
データを一括で登録する方法
もう特に詳しく書くこともないので結論から言いますと、
INSERT ALL
INTO DB名.テーブル名 VALUES (値1, 値2, 値3)
INTO DB名.テーブル名 VALUES (値1, 値2, 値3)
INTO DB名.テーブル名 VALUES (値1, 値2, 値3)
SELECT * FROM DUAL
↑これはカラム名は省略して書いているバージョンになります!
DUALってなんなんやろな~
FROM DUAL はテーブル指定の事ですが、実際にDUALというテーブルをユーザが定義している訳ではありません。
https://kowaza.withinit.com/oracle/ora_insert_multiple.html
DUALテーブルはOracleの固有ディクショナリで、実際にはカラム名が存在しないデータ(システム日付など)にアクセスする際や、関数などで利用されます。
なんかダミーの表なんか~
ここは脳死でSELECT * FROM DUAL
を定義してええんかな?
まとめ
初めてOracle触ったらmysqlとかとは違う書き方が存在するから「ほえ?」ってなる時がたくさん