1

5 つのテキスト列を含む sys_refcursor を返す関数を定義しました。申し訳ありませんが、業務上の理由により、ここに内容を掲載することはできません。列は、特定の幅 (9、4、10、10、10) で varchar2 にキャストされます。キャストにより、列幅が一定であることを確認できます。

SQL Developer 1.5では、(SQLワークシートからF5を使用して)スクリプト出力を印刷すると、カーソルの内容が次のように適切に表示されます:

MY_FUNCTION(input1,input2,input3)
---------------------------------
COLUMN1   COLU COLUMN3    COLUMN4    COLUMN5
--------- ---- ---------- ---------- ----------
18-NOV-14 TEXT SOME_DATA1 SOME_DATA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DATA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DATA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DATA2 SOME_DATA3

ただし、SQL Developer 4.0 では、出力は関数呼び出しの幅で折り返されます (SQLPlus の linesize 引数と同様)。

MY_FUNCTION(input1,input2,input3)
---------------------------------
COLUMN1   COLU COLUMN3    COLUMN4
    COLUMN5
--------- ---- ---------- -------
--- ----------
18-NOV-14 TEXT SOME_DATA1 SOME_DA
TA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DA
TA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DA
TA2 SOME_DATA3
18-NOV-14 TEXT SOME_DATA1 SOME_DA
TA2 SOME_DATA3

データベースのバージョンは 11g です。「set linesize 1000」コマンドを使用してみましたが、出力は依然として同じ長さで折り返されます。ただし、linesize 5 を設定すると、5 文字で折り返されます。

「set」コマンドを使用しなくても、SQL*Plus では出力が正常に表示されます。

4.0 でカーソルの内容がラップされないようにする方法はありますか?

4

1 に答える 1