2011-10-01 23 views
6

Sau 10 dòng, tiêu đề cột của tôi xuất hiện trở lại trong đầu ra của Oracle. Có một cái gì đó về mã của tôi hoặc một số loại biến môi trường tôi có thể thiết lập để ngăn chặn điều này? Tôi chỉ cần các tiêu đề cột xuất hiện một lần ở đầu kết quả của tôi.Các tiêu đề cột tiếp tục xuất hiện trên toàn bộ đầu ra của 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 

Trả lời

21

Giả sử bạn đang chạy điều này trong SQL * Ngoài ra, bạn cần đặt trang của mình.

SET PAGESIZE 50000 

sẽ làm cho các đề mục cột chỉ xuất hiện một lần cho mỗi 50.000 hàng được trả lại. Tôi tin rằng 50.000 là cài đặt PAGESIZE tối đa.

Nếu bạn muốn loại bỏ tiêu đề hoàn toàn, bạn có thể thiết lập các PAGESIZE 0 nhưng điều đó sẽ ngăn chặn ngay cả những tập đầu tiên của tiêu đề

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 hoạt động như một sự quyến rũ. Vấn đề của tôi là tôi đã nhập vào tệp login.sql như SET PAGESIZE = xxxxx khi biểu tượng '=' không cần thiết. Cảm ơn! – smiligrl

0

Bạn cũng có thể:

SET PAGESIZE 0 

Để ngăn chặn tất cả tiêu đề cột sau khi bắt đầu báo cáo của bạn.

+0

Một PAGESIZE bằng 0 ngăn chặn tất cả các tiêu đề cột. Nó thậm chí không hiển thị tiêu đề ở đầu báo cáo. –

+0

Doh! Bạn hoàn toàn đúng. Lỗi của tôi. –

+1

Bạn có thể thử 'set pagesize 0 được nhúng vào ' – user2075017

6

Sử dụng tính năng 'ẩn' sẽ chặn tất cả TRỪ dòng hàng đầu tiên!

set pagesize 0 embedded on 

Nhờ "Bruno Ruess" qua số https://community.oracle.com/thread/2389479?start=0&tstart=0 cho các mục ở trên.

Nếu bạn sau đó cũng thêm

SET UNDERLINE off 

Sau đó, bạn có thể ngăn chặn các "gạch dưới" của dòng tiêu đề, và nhận được một cái gì đó mà trông rất giống như một CSV.

Các vấn đề liên quan