2011-10-01 24 views
6

Después de tener 10 líneas, los encabezados de mis columnas vuelven a aparecer en mi salida de Oracle. ¿Hay algo sobre mi código o algún tipo de variable de entorno que pueda configurar para detener esto? Solo necesito que los encabezados de las columnas aparezcan una vez en la parte superior de mis resultados.Los encabezados de columna siguen apareciendo en la salida de 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 

Respuesta

21

Suponiendo que está ejecutando esto en SQL * Plus, necesita establecer su tamaño de página.

SET PAGESIZE 50000 

hará que los encabezados de las columnas aparezcan solo una vez por cada 50,000 filas devueltas. Creo que 50,000 es la configuración máxima de PAGESIZE.

Si desea eliminar encabezados por completo, puede establecer la PAGESIZE a 0, pero que suprimirá ni siquiera el primer conjunto de cabeceras

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 funcionaba como un amuleto. Mi problema era que estaba ingresando eso en el archivo login.sql como SET PAGESIZE = xxxxx cuando el símbolo '=' no era necesario. ¡Gracias! – smiligrl

0

También puede:

SET PAGESIZE 0 

para detener todas las encabezados de columna después del comienzo de su informe.

+0

Una PAGESIZE de 0 suprime todos los encabezados de columna. Ni siquiera muestra los encabezados al comienzo del informe. –

+0

¡Doh! Estás en lo correcto. Mi error. –

+1

Puede intentar 'establecer tamaño de página 0 incrustado en' – user2075017

6

¡Utilice una función 'oculta' que suprimirá todo, EXCEPTO la primera fila de títulos!

set pagesize 0 embedded on 

Gracias a "Bruno Reuss" a través de https://community.oracle.com/thread/2389479?start=0&tstart=0 de lo anterior.

Si a continuación, también se añade

SET UNDERLINE off 

A continuación, puede suprimir el "subrayado" de la fila de encabezado, y llegar a algo que se parece mucho más a un CSV.

Cuestiones relacionadas