2011-10-01 21 views
6

Po 10 liniach nagłówków kolumn pojawiają się ponownie w wyjściach Oracle. Czy jest coś w moim kodzie lub jakiejś zmiennej środowiskowej, którą mogę ustawić, aby to zatrzymać? Potrzebuję tylko nagłówków kolumn, aby pojawiały się raz na górze moich wyników.Nagłówki kolumn pojawiają się w wynikach 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 

Odpowiedz

21

Zakładając, że używasz tego w SQL * Plus, musisz ustawić swój rozmiar strony.

SET PAGESIZE 50000 

spowoduje, że nagłówki kolumn pojawią się tylko jeden raz na każde zwrócone 50 000 wierszy. Uważam, że 50 000 to maksymalne ustawienie PAGESIZE.

Jeśli chcesz wyeliminować nagłówki w całości, można ustawić PAGESIZE do 0, ale które będą tłumić nawet pierwszego zestawu nagłówków

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 działało jak czar. Mój problem polegał na tym, że wpisałem to do pliku login.sql jako SET PAGESIZE = xxxxx, gdy symbol "=" nie był potrzebny. Dzięki! – smiligrl

0

Można także:

SET PAGESIZE 0 

Aby zatrzymać wszystko nagłówki kolumn po rozpoczęciu raportu.

+0

A PAGESIZE z 0 pomija wszystkie nagłówki kolumn. Nawet nie wyświetla nagłówków na początku raportu. –

+0

Doh! Masz rację. Mój błąd. –

+1

Możesz spróbować 'set pagesize 0 embedded on' – user2075017

6

Użyj "ukrytej" funkcji, która zniesie wszystkie Z WYJĄTKIEM pierwszego rzędu nagłówków!

set pagesize 0 embedded on 

Dzięki "Bruno Ruess" poprzez https://community.oracle.com/thread/2389479?start=0&tstart=0 dla powyższych.

Jeśli następnie również dodać

SET UNDERLINE off 

Następnie można wyciszyć „podkreślenie” w wierszu nagłówka, i dostać się do czegoś, co wygląda o wiele bardziej jak CSV.

Powiązane problemy