不,没有简单的方法可以使 SQL*Plus 将列宽“自动调整”为文本宽度。
但是,脚本可以让您的生活更轻松。
首先,减少打字。不要这样做SET COLUMN FORENAME FORMAT A10
,而是做类似的事情@c forename 10
。
17:33:31 SYSTEM@dwal> cl col
columns cleared
17:33:33 SYSTEM@dwal> select * from dual;
D
-
X
Elapsed: 00:00:00.01
17:33:37 SYSTEM@dwal> @c dummy 10
17:33:43 SYSTEM@dwal> select * from dual;
DUMMY
----------
X
Elapsed: 00:00:00.01
17:33:45 SYSTEM@dwal> get s:\c.sql
1* col &1. for a&2.
17:33:50 SYSTEM@dwal>
或者像这样快速隐藏宽列:
17:48:44 SYSTEM@dwal> select owner, table_name from all_tables where rownum = 1;
OWNER TABLE_NAME
------------------------------ ------------------------------
SYS CON$
Elapsed: 00:00:00.24
17:48:49 SYSTEM@dwal> @np owner
17:48:53 SYSTEM@dwal> select owner, table_name from all_tables where rownum = 1;
TABLE_NAME
------------------------------
CON$
Elapsed: 00:00:00.26
17:48:56 SYSTEM@dwal> get s:\np
1 col &1 noprint
2* @undef
这些只是我每天使用的众多脚本中的两个。这种方法需要时间和一些个人的关注来适应它并使其有效,但会大大减少您按下的按键数量。
其次,还有 glogin.sql。这是一个脚本,每次连接到某个地方时都会执行。我假设您知道使您的行换行的“长”列的列表。
只需在此处列出它们,然后您的
SET COLUMN FORENAME FORMAT A10
SET COLUMN SURNAME FORMAT A10
每次(重新)连接时都会设置列参数。