dポイントプレゼントキャンペーン実施中!

pl/sqlでselect文の結果をCSV出力しようとしています。(oracle 8.16)

そこで以下のようにクエリの結果を出力しようとしているのですが、
SQL文の長さが255バイト(文字?)以下ならば正常に動くのですが、
255を超えると正常な結果が返ってこない状況です。
(エラーは発生しないが、結果が1カラム分しか出力されない。)

OPEN c FOR SQL文;
LOOP
FETCH c INTO vOutputLine;
EXIT WHEN c%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,1,100));
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,101,100));
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,201,100));
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,301,100));
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,401,100));
DBMS_OUTPUT.PUT_LINE(SUBSTR(vOutputLine,501,100));
END LOOP;
CLOSE c;

oracle8だとPUT_LINE などで使用できる一行のバッファサイズが 255 バイトまでという記事があったのでそれが原因かなとおもってのですが、解決方法が分かりません
http://www.shift-the-oracle.com/plsql/dbms_output/

解決方法、もしくは他に原因が検討違いでしたら教えていただけます様お願いします。

A 回答 (1件)

sqlplusで実行しているなら、


set serveroutput on unlimited
set lines 32767
pl/sqlのみなら
DBMS_OUTPUT.ENABLE(1000000)
とかでは。
    • good
    • 0

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

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

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