- PR -

SQLのINSERTで複数行の登録を一度にしたい

投稿者投稿内容
caz
会議室デビュー日: 2007/04/03
投稿数: 8
投稿日時: 2007-04-03 19:09
以下でよろしいんでしょうか?
結果は、また同じエラーです。
INSERT INTO T_CHOHYO_SUM VALUES
(
'tt00',
'0000',
'S0060',
1,
'11111',
'TEST',
SYSDATE,
'TEST',
SYSDATE
)
INTO T_CHOHYO_SUM VALUES
(
'tt00',
'0000',
'S0060',
1,
'11111',
'TEST',
SYSDATE,
'TEST',
SYSDATE
)
SELECT * FROM T_CHOHYO_SUM

テーブルの全項目に対しINSERTするので、VALUESの前は無くてもよいのですよね。

すみません。2つ目のVALUES句の中の3つ目の値は'S0060'ではなく'S0070'でした。
訂正しましたが、やはり結果は同じでした。

[ メッセージ編集済み 編集者: caz 編集日時 2007-04-03 19:13 ]
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-04-03 19:14
引用:

cazさんの書き込み (2007-04-03 19:09) より:
テーブルの全項目に対しINSERTするので、VALUESの前は無くてもよいのですよね。


 これは絶対に止めましょう。
後々、テーブルに列が追加されたときにバグになりかねません。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-04-03 19:17
引用:

テーブルの全項目に対しINSERTするので、VALUESの前は無くてもよいのですよね。

すみません。2つ目のVALUES句の中の3つ目の値は'S0060'ではなく'S0070'でした。
訂正しましたが、やはり結果は同じでした。

[ メッセージ編集済み 編集者: caz 編集日時 2007-04-03 19:13 ]



うーん。素直にPreparedStatementで必要な回数分Insert発行したほうが良いと思うのですが・・・
なぜ一度にまとめてInsertしたいのでしょう。
あと、試されているSQL間違ってます。
一度SQLWorkSeetとかで動作の確認を行ってからやってみたりしてますか?
lalupin4
大ベテラン
会議室デビュー日: 2004/07/26
投稿数: 163
投稿日時: 2007-04-03 19:18
引用:

cazさんの書き込み (2007-04-03 19:09) より:
以下でよろしいんでしょうか?


1. ALLはどこ行った?
2. DUALだってば。
caz
会議室デビュー日: 2007/04/03
投稿数: 8
投稿日時: 2007-04-03 19:26
lalupin4さん
ご指摘ありがとうございます。
ALLとDUALでINSERTできました。
つまらないミスでした。
ひとまず、これで対処できそうです。
みなさん、ありがとうございました。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-04-03 19:32
勉強になりました、マルチテーブル・インサートの。
メモしておこうっと。

スキルアップ/キャリアアップ(JOB@IT)