こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プライマリキーのみを変更して、複数行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のスクリプトで実行したいと思います。

ご存知の方、ご教授願います。
よろしくお願いいたします。

投稿日時 - 2008-02-12 10:49:02

QNo.3768250

すぐに回答ほしいです

質問者が選んだベストアンサー

create table aaa
(
"カラム1" number(10),
"カラム2" varchar2(10),
"カラム3" varchar2(10),
"カラム4" varchar2(10),
"カラム5" varchar2(10)
);

insert into aaa ("カラム1", "カラム2", "カラム3", "カラム4", "カラム5")
select rownum, 'あああ', 'いいい', 'ううう', 'えええ' from dict
where rownum <= 200
;

200行が作成されました。

200行以上の行があるテーブルやビューを利用して、
更にrownum疑似列でナンバリングしてあげれば一発で作成可能です。

投稿日時 - 2008-02-12 16:17:14

お礼

ご回答ありがとうございます。
出来ました。

投稿日時 - 2008-02-27 09:48:44

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

http://rina.jpn.ph/~rance/om/oracle/hosoku12.html

順序を使うか、SQLで工夫してみてください。

投稿日時 - 2008-02-12 10:57:08

お礼

ご回答ありがとうございます。
確認してみます。

投稿日時 - 2008-02-27 09:49:25