在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
答案 0 :(得分:24)
假设您在SQL * Plus中运行此功能,则需要设置页面大小。
SET PAGESIZE 50000
将导致列标题仅在返回的每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.
答案 1 :(得分:10)
使用'隐藏'功能,除了第一行标题外,所有功能都会被禁止!
set pagesize 0 embedded on
感谢“Bruno Ruess”通过https://community.oracle.com/thread/2389479?start=0&tstart=0获取上述内容。
如果您还要添加
SET UNDERLINE off
然后你可以压制标题行的“下划线”,并获得看起来更像CSV的内容。
答案 2 :(得分:1)
你也可以:
SET PAGESIZE 0
在报告开始后停止所有列标题。