我定义了一个函数,它返回一个包含 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 个字符处换行。
输出在 SQL*Plus 中显示正常,无需使用任何“set”命令。
有没有办法防止光标内容在 4.0 中换行?