【Oracle 11g】データの一括登録

今回は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というテーブルをユーザが定義している訳ではありません。

DUALテーブルはOracleの固有ディクショナリで、実際にはカラム名が存在しないデータ(システム日付など)にアクセスする際や、関数などで利用されます。

https://kowaza.withinit.com/oracle/ora_insert_multiple.html

なんかダミーの表なんか~

ここは脳死でSELECT * FROM DUAL を定義してええんかな?

まとめ

初めてOracle触ったらmysqlとかとは違う書き方が存在するから「ほえ?」ってなる時がたくさん

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA