列标题始终显示在Oracle输出中

smi*_*grl 9 oracle sqlplus

在10行后,我的列标题重新出现在我的Oracle输出中.有什么关于我的代码或某种环境变量,我可以设置阻止这个?我只需要在我的结果顶部出现一次列标题.

BREAK ON Customer
COLUMN Customer -
       FORMAT A15 -
       HEADING 'Customer Name'
COLUMN "Charter Date" -
       HEADING 'Charter|Date'
COLUMN Pilot -
       FORMAT A20 -
       HEADING 'Pilot'
SELECT DECODE (cu.cus_initial,null, cu.cus_fname||' '||cu.cus_lname,
       cu.cus_fname||' '||cu.cus_initial||'. '||cu.cus_lname)
       AS Customer,
       ch.char_date "Charter Date",
       TRIM( e.emp_fname) ||' '|| TRIM(e.emp_lname) AS "Pilot"
FROM hartmar.customer cu,
     hartmar.charter ch,
     hartmar.crew cr,
     hartmar.pilot p,
     hartmar.employee e
WHERE cu.cus_code = ch.cus_code
      AND ch.char_trip = cr.char_trip
      AND cr.emp_num = p.emp_num
      AND p.emp_num = e.emp_num
      AND cr.crew_type = 'Pilot'
ORDER BY cu.cus_lname, cu.cus_fname, cu.cus_initial, ch.char_date
;

CLEAR BREAKS
CLEAR COLUMNS
Run Code Online (Sandbox Code Playgroud)

Jus*_*ave 26

假设您在SQL*Plus中运行它,则需要设置页面大小.

SET PAGESIZE 50000
Run Code Online (Sandbox Code Playgroud)

将导致列标题仅为返回的每50,000行显示一次.我相信50,000是PAGESIZE的最大设置.

如果你想完全消除标题,你可以设置PAGESIZE为0,但这将抑制第一组标题

SQL> set pagesize 0;
SQL> select ename, empno from emp;
PAV              7623
smith            7369
ALLEN            7499
WARD             7521
JONES            7566
MARTIN           7654
BLAKE            7698
CLARK            7782
SCOTT            7788
KING             7839
TURNER           7844
ADAMS            7876
SM0              7900
FORD             7902
MILLER           7934
BAR              1234

16 rows selected.
Run Code Online (Sandbox Code Playgroud)


dsz*_*dsz 13

使用"隐藏"功能,除了第一行标题外,所有功能都会被禁止!

set pagesize 0 embedded on
Run Code Online (Sandbox Code Playgroud)

感谢"Bruno Ruess"通过https://community.oracle.com/thread/2389479?start=0&tstart=0获取上述内容.

如果你然后也添加

SET UNDERLINE off
Run Code Online (Sandbox Code Playgroud)

然后你可以压缩标题行的"下划线",并获得看起来更像CSV的东西.