SQL Developerに問題があります。SQL* Plusでは機能しますが、dbms_output
バッファーを1 000 000シンボルより大きく設定することはできません。このスクリプト:
SET SERVEROUTPUT ON SIZE UNLIMITED
BEGIN
for c in (SELECT rpad('a',1000,'a') ll from dual connect by level <=2001) loop
dbms_output.put_line (c.ll);
end loop;
dbms_output.put_line ('www');
END;
/
sQL * Plusで動作しますが、以下で失敗します。
ORA-20000:ORU-10027:バッファオーバーフロー、1000000バイトの制限 ORA-06512: "SYS.DBMS_OUTPUT"、行32 ORA-06512: "SYS .DBMS_OUTPUT "、行97 ORA-06512:" SYS.DBMS_OUTPUT "、行112 ORA-06512:行3
sQL Developerで。
SQL Developerでdbms_output
ビューを使用してサイズを無制限に設定しようとしました ここで説明 に設定しましたが、同じ量の記号が印刷され、「www」行がありません。 SQL Developerのバージョンは4.03.16です。既知の問題ですか?
SQL Developerでは、SET SERVEROUTPUT ON SIZE UNLIMITED
は、バッファを無制限ではなく最大値1000000に設定します(12.1.0.2.161018データベースおよびSQL Developer 4.1.5.21でテスト済み)。これはSQLトレースで簡単に確認できます。
代わりに、以下は実際にバッファを無制限に設定します:
begin
dbms_output.enable(null);
end;
/