• 締切済み

一気に複数のレコードをinsertする方法について

SQLのinsert文で一気に複数のレコードを挿入する方法ってありますか? SQL*LoaderとPL/SQL以外でお願いします。

  • Oracle
  • 回答数6
  • ありがとう数16

みんなの回答

  • imqt
  • ベストアンサー率0% (0/0)
回答No.6

insert all into Table values(a,b) into Table values(c,d) select * from dual abcdはデータ内容で、ポイントはinsertの後のallと、select * from dualをつけることです。

  • xiaobian
  • ベストアンサー率0% (0/0)
回答No.5

エクセルのデータを一気にinsertするなら、下記フリーソフトがいかがですか http://www.jdbckit.com

参考URL:
http://www.jdbckit.com
  • zeeq-h
  • ベストアンサー率54% (6/11)
回答No.4

どんな簡単なPL/SQLを使う方法はあります。 1.レコードがエクセルになっていて、 2.頻繁にインサート文を発行することがある のであれば、VBA(マクロ)を書いて、エクセルのデータを元に、 複数のINSERT文を含むPL/SQL文を一気につくることが可能ですよ。 マクロを作る知識が必要なのは言うまでもありませんが、そう難しいものではありません。 生成されたPL/SQLは無名プログラムとして、PQLPLUSから流すというわけです。いろいろな場所で使われている方法です。

  • jhayashi
  • ベストアンサー率29% (535/1843)
回答No.3

insert into テーブル (a,b) select 1,2 from dual union select 2,3 from dual; なんてやれば単一表に任意の複数レコード入るには入る。 ただ自分で書いていて実用的な気がしない

回答No.2

>SQLのinsert文で一気に複数のレコードを挿入する方法 insert ~ selectなら、既存の表から複数行を検索して、一気に格納できます。 複数表にinsertしたいなら、Oracleではマルチテーブル・インサートという独自機能があるようです。 http://www.atmarkit.co.jp/fdb/rensai/sqlclinic12/sqlclinic12_1.html

回答No.1

挿入するレコードは任意の値なのでしょうか? テーブルにあるデータなら、 insert into テーブル1 (a,b,c) select a,b,c from テーブル2 見たいな感じで。 それ以外ならひとつずつしかないね。

関連するQ&A

  • レコードセットの値を一気にDBに

    access2007で開発しています。 レコードセットのデータをDBのテーブルに一気にいれる方法はないのでしょうか? 調べたところレコードセットをMOVENEXTで一件ずつ読込み、インサート文をなげている例はあったのですが、一気にいれる方法は見当たりませんでした。 さらにいうと元々はSQLで insert into テーブル1(・・・) select ・・・from テーブル2 としたかったのですが、executeすると´3065´選択クエリを実行できません´のエラーとなってしまいました。 すいませんが、ご教唆ねがいます。

  • insertについて

    レコードをinsertする際に複数ある値の内、一つの値を別のテーブルにある値をinsertしたいのですが、その場合、SQL文はどのように書けばいいのでしょうか? 前提として型や長さなどは同一です。 mysql5です。

    • ベストアンサー
    • MySQL
  • プライマリキーのみを変更して、複数行insertする方法

    こんにちは。 oracle(9i)のテーブルにinsertを行おうと思っているのですが、 困っているので質問させていただきます。 Aテーブルに5カラムあるとします。 カラム1はプライマリキーです。 例えば、1レコードが下記のようになっているとします。 カラム1 カラム2 カラム3 カラム4 カラム5 ---------------------------------------------- 001 あああ いいい ううう えええ プライマリキーに1を足して、他のカラム2から5までは同様の内容で insetをしたいと思っています。 つまり、下記のようなレコードになります。 002 あああ いいい ううう えええ 003 あああ いいい ううう えええ このようにプライマリキーのみを変更して200レコードくらいを insertしたいと思いますが、どのようにすればよいでしょうか。 できれば、PL/SQLかSQLのスクリプトで実行したいと思います。 ご存知の方、ご教授願います。 よろしくお願いいたします。

  • 同じカラム直下に複数のレコードをinsert

    初心者です。 DBの同じカラム直下に複数のレコードをinsertさせるにはどうすればよいかどなたか教えて頂けますでしょうか。 以下は入力フォームで入力した複数の日付を確認画面で受け取ったものです。 <table> <th>休日年月日</th> <td>2016/9/12,2016/9/14,2016/9/20,2016/9/26,2016/9/28</td> </table> 日付が一つでしたらinsertは可能ですが、複数の場合はinsertできませんでした。 複数でinsertした場合のDBのイメージは以下の通りです。 holiday(カラム名) 2016/9/12(レコード1行目) 2016/9/14(レコード2行目) 2016/9/20(レコード3行目) 2016/9/26(レコード4行目) 2016/9/28(レコード5行目) どなたか教えて頂けたら幸いです。 よろしくお願い致します。

    • 締切済み
    • PHP
  • oracle10g update件数の取得方法

    oracle10g update件数の取得方法 pl sql(stored procedure)で複数のupdate文を適用します。update後にupdateしたレコード件数をログテーブルにinsertしたいのですが、updateしたレコード件数を取得する方法はありますか?

  • Doctrine(ORM)での複数行Insert

    PHP/MySQL/Doctrineで開発しております。 配列フィールドを持つオブジェクトを永続化する際、パフォーマンスのため、INSERTの際に複数行をまとめてInsertしたいのですが、Doctrine_Recordのsaveメソッドを使うと、配列の各要素に対して1つのSQLが発行されてしまいます。 DQL等を用いた複数行Insertは可能でしょうか? また、不可能であれば、PHPでそういったことが可能であるORMは存在しますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 重複しているレコードを一気に削除する方法

    重複しているレコードを一気に削除する方法はありますか? 主キー  フィールド1 フィールド2 1     あ     い 2     あ     い のように、主キー以外は重複していえるのですが この場合、1か2を削除する方法はありますか? 一つのテーブルに主キー以外の値が重複しているレコードが多々あるので一気に削除したいです。

  • 多重insertについて

    お世話になります。 MySQLの経験はありますが、Oracleは初心者です。 Oracleで「多重insert」を行いたいと思っています。 この表現が正しいか分かりません、一度のinsert文で 多数のレコードを追加したいと思っております。 MySQLですと、 insert into XXXX values(X,'XX'),(X,'XXX'),(X,'XXX') のように、()と,で区切って一度の複数のレコードを インサートできますが、Oracleでは出来ませんでした。 Oracleで同様の動作を行う方法はあるのでしょうか? お手数をおかけ致しますが、よろしくお願い致します。

  • Wordに画像挿入。複数を一気に挿入させるには?

    Wordに画像を挿入させたいのですが、数十枚あります。 複数の画像を一気に挿入させる方法はないでしょうか?(VBA以外で)

  • 一括でINSERTする方法(PL/SQL)

    PL/SQLを利用して、下記3つのSQLを一括でinsertしたいと思います。 (値は、任意でありません。) PL/SQLに関して、初心者なので、どのように記述してよいか 分かりません。 サンプル的なソースを用いて解説して頂けるとありがたいです。 (1)INSERT INTO tb1(列1, 列2) VALUES('値1','値2') (2)INSERT INTO tb1(列1, 列2) VALUES('値3','値4') (3)INSERT INTO tb1(列1, 列2) VALUES('値5','値6')