Nie wystarczy zmusić sqlplus do nie zawijania linii. Konieczne jest również poinformowanie przeglądarki, że używasz do przeglądania pliku buforowania, aby nie zawijał wierszy. Jeśli Twoja przeglądarka jest lesswtedy -Sopcja trzeba użyć według
https://superuser.com/questions/272818/how-to-turn-off-word-wrap-in-less . W systemach Unix / Linux możesz użyć, head -1 output.txtaby uzyskać pierwszą linię pliku, a więc sprawdź, czy jest to zgodne z oczekiwaniami, lub możesz od -c output.txt|head
sprawdzić, gdzie podział wiersza jest rzeczywiście umieszczony w pliku wyjściowym.
Jeśli wyświetlasz DŁUGIE kolumny, a ich wartości zawierają podziały wierszy, to dla tych wartości kolumn zostanie wydrukowanych wiele wierszy i nie możesz zastąpić tego ustawieniami sqlplus.
Przydatne mogą być następujące polecenia sqlplus:
SET LINESIZE linesizedługość linii. W większości przypadków maksymalna wartość linesizeto 32767. Możesz sprawdzić swoją maksymalną wartość, jeśli ustawisz LINESIZE na niepoprawną wartość i sprawdzisz komunikat o błędzie, więc SET LINESIZE 0może dać SP2-0267: linesize option 0 out of range (1 through 32767) (1)
SET TRIMSPOOL ON w przeciwnym razie każda linia w zbiorze buforowym zostanie wypełniona spacjami, aż do osiągnięcia rozmiaru linii.
SET TRIMOUT ON w przeciwnym razie każda linia na wyjściu zostanie wypełniona spacjami, dopóki nie zostanie osiągnięty rozmiar linii.
SET WRAP OFFObcina linię, jeśli jest dłuższa niż LINESIZE. Nie powinno tak się zdarzyć, jeśli rozmiar linii jest wystarczająco duży.
SET TERMOUT OFFpomija drukowanie wyników na wydruku. Linie są nadal zapisywane w pliku buforowania. Może to znacznie przyspieszyć czas egzekucji oświadczenia.
SET PAGESIZE 0 ustawić nieskończony rozmiar strony i unikać nagłówków, tytułów itp.
- Istnieją inne
SETparametry dotyczące wyniku (NUMWIDTH, NUMFORMAT, LONG, COLSEP) i wydajności (ARRAYSIZE, LONGCHUNKSIZE).
Musisz użyć COLUMNpolecenia, aby sformatować poszczególne kolumny.
Np. column name format a30Sformatuje kolumnę namena wyjściu do maksymalnej długości 30 znaków.
Jeśli chcesz, aby rozmiar wyświetlacza nie był ustalony, ale powinien być równy rozmiarowi rzeczywistej wartości kolumn w rzędzie, to jedyny sposób, jaki wiem, to to, że zmieniasz klauzulę select swojej instrukcji, aby uzyskać pożądany wynik i użyć operator konkatenacji łańcucha ||, np
select emp_id||' '||first_name||' '||last_name
from emp;
Pełny opis wszystkich zmiennych można znaleźć w Podręczniku użytkownika i podręczniku SQL * Plus .
Jeśli chcesz ponownie użyć niektórych ustawień (lub definicji KOLUMNA), możesz zapisać je w pliku i uruchomić ten plik, gdy będziesz ich potrzebować ponownie. Możesz nawet uruchomić ten plik automatycznie, jeśli uruchomisz sqlplus.
(1) „Jak znaleźć maksymalną wartość LINESIZE (jest zależna od systemu) (Doc ID 1547262.1)”