如何在SQLPLUS中向终端显示行的列,该行的列宽度为该列中数据的最大值

时间:2011-01-20 19:26:17

标签: oracle sqlplus

我想知道是否可以在没有COLUMN FORMAT的情况下完成。

当前示例:


TABLESPACE_NAME                BIG DATAFILE_NAME
------------------------------ --- -------------------------------------------------------------------------------------------------------------------
STORETABS                      NO  C:\ORACLE\APP\ASUH\ORADATA\TESTORCL\STORETABS_01.DBF
STORETABS                      NO  C:\ORACLE\APP\ASUH\ORADATA\TESTORCL\STORETABS_02.DBF

请注意,标题“ - ”行一直延伸到与定义的varchar(n)值匹配。

是否有SQLPLUS SET命令会自动将列宽调整为列标题的大小或列中最大数据的大小?

我希望它看起来像这样:


TABLESPACE_NAME  BIG DATAFILE_NAME
---------------- --- -----------------------------------------------------
STORETABS        NO  C:\ORACLE\APP\ASUH\ORADATA\TESTORCL\STORETABS_01.DBF
STORETABS        NO  C:\ORACLE\APP\ASUH\ORADATA\TESTORCL\STORETABS_02.DBF

如果不是列标题的大小,则更需要调整为数据的最大大小。

1 个答案:

答案 0 :(得分:3)

不,没有这样的设置。

不能有这样的设置,因为SQL*Plus一次提取 arraysize (默认值为15,我相信)记录。因此,如果在15个记录之后获取了另一个更长的记录,则-------....已经打印/写入,没有机会让SQL * Plus进行调整。

arraysize 是使用set arraysize n设置的数字。