2011-10-01 42 views
6

經過10行後,我的列標題重新出現在我的Oracle輸出中。有沒有關於我的代碼或我可以設置的一些環境變量來阻止它?我只需要列標題在結果頂部顯示一次。列標題不斷出現在整個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 

回答

21

假設你在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. 
+0

SET PAGESIZE 50000像魅力一樣工作。我的問題是,當'='符號沒有必要時,我將它作爲SET PAGESIZE = xxxxx輸入到login.sql文件中。謝謝! – smiligrl

0

你還可以:

SET PAGESIZE 0 

要停止所有報告開始後的列標題。

+0

PAGESIZE爲0將禁止所有列標題。它甚至不在報告的開頭顯示標題。 –

+0

Doh!你是對的。我的錯。 –

+1

您可以嘗試'設置嵌入的頁面大小0 – user2075017

6

使用「隱藏」功能,除了標題的第一行外,將禁止所有功能!

set pagesize 0 embedded on 

感謝上述的「Bruno Ruess」通過https://community.oracle.com/thread/2389479?start=0&tstart=0

如果你還需要增加

SET UNDERLINE off 

然後你可以禁止該標題行的「下劃線」,並得到的東西,看起來更像是一個CSV。