【Oracle】Insert文で複数のデータを挿入する方法
今、家計簿アプリケーション作成の中でとりあえずOracleにテーブルを作成してデータを格納しようとしていたところうまくいかない箇所があった。
一旦自分のWindowsマシンにあるOracleにSQL*Plusを経由して接続するところまでは問題なく進み、その後テーブル(Category_mst:項目マスタ)を作成した。
項目マスタのテーブル設定
Category_idには項目IDを設定(例:K01)
Category_nameには項目名を設定(例:給料)
ここまでは普通に出来たので、SQLファイルにInsert文を作成して実行したのだけど、何度やっても失敗してしまう。
↓
何故か(?)失敗してしまう。
調べた結果、上記のSQLの書き方はOracleでは実行できないことがわかった。(端的にいうと、MySQL用の書き方だったようだ)
なので、Oracle用のやり方を調べてSQL文を書き直した。
insert all
into category_mst values('K01','給料')
into category_mst values('K02','電気')
into category_mst values('K03','水道')
into category_mst values('K04','ガス')
into category_mst values('K05','食費')
into category_mst values('K06','交通費')
into category_mst values('K07','通信費')
into category_mst values('K08','日用品代')
into category_mst values('K09','洋服代')
into category_mst values('K10','本題')
into category_mst values('K11','趣味関係')
into category_mst values('K12','家賃')
into category_mst values('K13','その他雑費')
into category_mst values('K14','予備')
into category_mst values('K15','予備')
into category_mst values('K16','予備')
select * from dual;
;↓
正常にInsertされたことが確認できた。
Oracleでは、上記のように、「Insert all into テーブル名 (カラム名※今回は省略した)values (データ)~繰り返し~ select * from dual;」と記述することがわかった。
CD付 SQL ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2010/06/29
- メディア: 大型本
- 購入: 39人 クリック: 484回
- この商品を含むブログ (14件) を見る
絵で見てわかるOracleの仕組み (DB Magazine SELECTION)
- 作者: 小田圭二
- 出版社/メーカー: 翔泳社
- 発売日: 2006/06/21
- メディア: 単行本
- 購入: 27人 クリック: 385回
- この商品を含むブログ (48件) を見る
【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE)
- 作者: 朝井淳
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/29
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 117回
- この商品を含むブログ (17件) を見る
スッキリわかるSQL入門 ドリル215問付き! (スッキリわかるシリーズ)
- 作者: 中山清喬,飯田理恵子
- 出版社/メーカー: インプレス
- 発売日: 2014/03/04
- メディア: Kindle版
- この商品を含むブログを見る
新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)
- 作者: 小田圭二,大塚信男,五十嵐建平,谷敦雄,宮崎博之,神田達成,村方仁
- 出版社/メーカー: 翔泳社
- 発売日: 2012/08/17
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 5回
- この商品を含むブログ (1件) を見る