プロが教えるわが家の防犯対策術!

Oracle10gを使用しています。
数千バイトある長いSQL文(insert処理です)を実行したいのですが、どうやらバイト数の制約の為にinsert出来ません。
何か対処方法があれば、教えてください。
よろしくお願いします。

A 回答 (2件)

>バイト数の制約


とは具体的には、
何に対するどのような制約に引っかかっているか状況ですか?

http://okwave.jp/kotaeru.php3?q=1922942
の方と同じ状況でしょうか?
であれば、
ストアド化もしくは、
SQL文を一旦テキストファイルに保存して、
@で実行してあげるとよいかと思われますが。

参考URL:http://okwave.jp/kotaeru.php3?q=1922942

この回答への補足

ご回答ありがとうございます。
残念ながら、SQLPlusの問題ではないようです。

LONGやCOLB型で定義した項目にセットする文字列が長すぎるようです。
文字列リテラルの制限は4000文字のようですが、今、約8000文字の値をセットしようとしています。

調べておりましたら、下記の情報に行き当たりましたので、試してみようと思います。
http://biz.rivus.jp/oerr_ora_01704.html

補足日時:2006/02/10 13:18
    • good
    • 0

 キーとなる値(実際のキーでなくても、列が特定できればOKです)をinsertして、残りの値はupdateするというのはどうでしょうか。


 ひとつのカラムに代入する値が長すぎるのであれば、
col = col || '文字'
のような代入で対処できないでしょうか。
 今、確認できる環境がないためにうろ覚えの部分もあるので、NGでしたら申し訳ありません。

この回答への補足

ご回答ありがとうございます。
確かにinsert後にupdateする方法もありますが、出来れば、1度の処理で済ませたいと考えています。

補足日時:2006/02/10 13:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す