Недостатньо змусити sqlplus не обертати лінії. Потрібно також повідомити глядачеві, що ви використовуєте для перегляду файлу котушки, щоб не перегортати рядки. Якщо глядач , lessто -Sваріант , ви повинні використовувати в відповідно до
https://superuser.com/questions/272818/how-to-turn-off-word-wrap-in-less . У Unix / Linux ви можете скористатися head -1 output.txtдля отримання першого рядка файлу, і тому перевірте, чи це так, як очікувалося, або ви можете використовувати, od -c output.txt|head
щоб побачити, де перерви рядків розміщені у вихідному файлі.
Якщо ви відображаєте стовпці LONG, а їх значення містять розриви рядків, для цих значень стовпців буде надруковано декілька рядків, і ви не можете перекрити це налаштуваннями sqlplus.
Наступні команди sqlplus можуть бути корисними:
SET LINESIZE linesizeдовжина лінії. У більшості випадків максимальне значення linesize- 32767. Ви можете дізнатися своє максимальне значення, якщо встановити LINESIZE на недійсне значення і перевірити повідомлення про помилку, щоб воно SET LINESIZE 0могло дати SP2-0267: linesize option 0 out of range (1 through 32767) (1)
SET TRIMSPOOL ON інакше кожен рядок у спілфілі заповнюється пробілами до досягнення розміру рядків.
SET TRIMOUT ON інакше кожен рядок на виході заповнюється пробілами до досягнення розміру рядків.
SET WRAP OFFОбрізає лінію, якщо її довше, ніж LINESIZE. Це не повинно статися, якщо розмір ліній досить великий.
SET TERMOUT OFFпригнічує друк результатів на вихід. Рядки все ще записуються у файл котушки. Це може значно прискорити час виконання заяви.
SET PAGESIZE 0 встановити нескінченний розмір сторінок і уникати заголовків, заголовків тощо.
- Є деякі інші
SETпараметри щодо виходу (NUMWIDTH, NUMFORMAT, LONG, COLSEP) та продуктивності (ARRAYSIZE, LONGCHUNKSIZE).
Ви повинні використовувати COLUMNкоманду для форматування окремих стовпців.
Напр. column name format a30Буде відформатовано стовпець nameу висновку до максимальної довжини 30 символів.
Якщо ви хочете, щоб розмір відображення не був виправленим, але він повинен дорівнювати розміру фактичного значення стовпців у рядку, то єдиний спосіб, який я знаю, це те, що ви змінюєте пункт вибору заяви, щоб отримати бажаний результат і використовувати оператор конкатенації рядків ||, наприклад
select emp_id||' '||first_name||' '||last_name
from emp;
Повний опис всіх змінних можна знайти в Посібнику та довідці користувача SQL * Plus .
Якщо ви хочете повторно використовувати деякі налаштування (або визначення COLUMN), ви можете зберегти їх у файлі та запустити цей файл, коли вони вам знову знадобляться. Ви навіть можете запустити цей файл автоматично, якщо запустити sqlplus.
(1) "Як знайти максимальне значення LINESIZE (це залежно від системи) (ID документа 1547262.1)"