如何增加sqlplus列的输出长度?

Moh*_*igh 55 sql oracle sqlplus column-width

我有一些查询来查找模式中某些对象的ddl.我得到的结果列在查询中间被截断.

如何增加列的使用?

我试过了

SET SERVEROUTPUT ON SIZE 1000000;
SET LINESIZE 50000;
set pagesize 50000;
set long 50000;
Run Code Online (Sandbox Code Playgroud)

但是,仍然得到相同的结果.

确实有任何帮助.

谢谢

oli*_*are 61

我刚刚使用了以下命令:

SET LIN[ESIZE] 200
Run Code Online (Sandbox Code Playgroud)

(来自http://ss64.com/ora/syntax-sqlplus-set.html).

编辑:为清楚起见,有效命令是SET LIN 200SET LINESIZE 200.

这样可以正常工作,但您必须确保控制台窗口足够宽.如果您从MS Windows命令提示符直接使用SQL Plus ,则无论SQL Plus 规范如何,控制台窗口都会自动将该行包装在"屏幕缓冲区大小宽度 "属性设置的任何位置LINESIZE.

正如@simplyharsh所建议的那样,您还可以使用COLUMN col_name FORMAT Ax(其中x是所需长度,以字符为单位)配置各列来显示集合宽度- 如果您有一个或两个额外的大列并且您只想显示摘要,这将非常有用他们在控制台屏幕中的值.

  • 大声笑,我刚开始输入SET LIN [ESIZE] 200 (4认同)

Mar*_*ray 27

这个配置对我有用:

set termout off
set verify off
set trimspool on
set linesize 200
set longchunksize 200000
set long 200000
set pages 0
column txt format a120
Run Code Online (Sandbox Code Playgroud)

columnlinesize选项的格式定义有助于避免在80个字符处截断.


sim*_*rsh 13

试试这个

COLUMN col_name FORMAT A24

你的宽度是24.

  • 你确定那不是你的终端包装吗? (2认同)

小智 8

在Linux上试试这些:

set wrap off
set trimout ON
set trimspool on
set serveroutput on
set pagesize 0
set long 20000000
set longchunksize 20000000
set linesize 4000
Run Code Online (Sandbox Code Playgroud)


Mar*_*cel 5

除了设置 LINESIZE 之外,正如 LordScree 建议的那样,您还可以指定输出到文件,以克服控制台宽度的问题。我是这样做的:

set linesize 15000;
spool myoutput.txt;
SELECT 
...
spool off;
Run Code Online (Sandbox Code Playgroud)