Заголовки столбцов продолжают появляться в выходных данных Oracle.

После каждых 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

person smiligrl    schedule 01.10.2011    source источник


Ответы (3)


Предполагая, что вы используете это в 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.
person Justin Cave    schedule 01.10.2011
comment
SET PAGESIZE 50000 работал как шарм. Моя проблема заключалась в том, что я вводил это в файл login.sql как SET PAGESIZE = xxxxx, когда символ «=» не был необходим. Спасибо! - person smiligrl; 01.10.2011

Используйте «скрытую» функцию, которая будет подавлять все заголовки, КРОМЕ первой строки!

set pagesize 0 embedded on

Благодаря «Бруно Рюссу» через https://community.oracle.com/thread/2389479?start=0&tstart=0 для вышеуказанного.

Если вы затем также добавите

SET UNDERLINE off

Затем вы можете подавить «подчеркивание» строки заголовка и получить что-то, что больше похоже на CSV.

person dsz    schedule 09.04.2015
comment
Гений! ВСТРОЕННЫЙ НА - person emare; 27.03.2020

Вы также можете:

SET PAGESIZE 0

Чтобы остановить все заголовки столбцов после начала вашего отчета.

person Bart K    schedule 01.10.2011
comment
Значение PAGESIZE, равное 0, подавляет все заголовки столбцов. Он даже не отображает заголовки в начале отчета. - person Justin Cave; 01.10.2011
comment
Вы можете попробовать set pagesize 0 embedded on - person user2075017; 20.12.2016