sqlplus를 강제로 줄 바꿈하지 않는 것만으로는 충분하지 않습니다. 또한 줄 바꿈하지 않도록 스풀 파일을 보는 데 사용한다는 것을 뷰어에게 알려 주어야합니다. 뷰어 인 경우 less
다음 -S
옵션 당신은에 따라 사용해야합니다
https://superuser.com/questions/272818/how-to-turn-off-word-wrap-in-less . 유닉스 / 리눅스 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 절을 변경하는 것입니다. 문자열 연결 연산자 ||
, 예를 들어,
select emp_id||' '||first_name||' '||last_name
from emp;
모든 변수에 대한 자세한 설명은 SQL * Plus 사용자 안내서 및 참조 서 에서 찾을 수 있습니다 .
일부 설정 (또는 COLUMN 정의)을 재사용하려면 해당 파일을 파일에 저장하고 필요할 때이 파일을 실행할 수 있습니다. sqlplus를 시작하면이 파일을 자동으로 실행할 수도 있습니다.
(1) "LINESIZE 최대 값을 찾는 방법 (시스템에 따라 다름) (문서 ID 1547262.1)"