sqlplus 열 출력 길이를 늘리는 방법은 무엇입니까?
스키마에서 일부 개체의 ddl을 찾는 쿼리가 있습니다. 내가 얻는 결과 열은 쿼리 중간에서 잘립니다.
열의 너비를 어떻게 늘릴 수 있습니까?
나는 시도했다
SET SERVEROUTPUT ON SIZE 1000000;
SET LINESIZE 50000;
set pagesize 50000;
set long 50000;
그러나 나는 여전히 같은 결과를 얻고 있습니다.
방금 다음 명령을 사용했습니다.
SET LIN[ESIZE] 200
( http://ss64.com/ora/syntax-sqlplus-set.html에서 ).
편집 : 명확성을 위해 유효한 명령은 SET LIN 200
또는 SET LINESIZE 200
입니다.
이것은 잘 작동하지만 콘솔 창이 충분히 넓은 지 확인해야합니다. MS Windows 명령 프롬프트에서 직접 SQL Plus를 사용하는 경우 콘솔 창은 SQL Plus 사양에 관계없이 "Screen Buffer Size Width "속성이 설정된 대로 자동으로 줄을 바꿉니다 LINESIZE
.
@simplyharsh에서 제안한대로 COLUMN col_name FORMAT Ax
( x 는 원하는 길이, 문자)를 사용하여 개별 열을 구성하여 설정된 너비를 표시 할 수도 있습니다. 이것은 하나 또는 두 개의 초대형 열이 있고 요약 만 표시하려는 경우에 유용합니다. 콘솔 화면에서 값의.
이 구성은 저에게 효과적입니다.
set termout off
set verify off
set trimspool on
set linesize 200
set longchunksize 200000
set long 200000
set pages 0
column txt format a120
옵션 이있는 column
형식 정의 linesize
는 80 자에서 잘림을 방지하는 데 도움이되었습니다.
이 시도
COLUMN col_name FORMAT A24
여기서 24는 너비입니다.
Linux에서 다음을 시도하십시오.
set wrap off
set trimout ON
set trimspool on
set serveroutput on
set pagesize 0
set long 20000000
set longchunksize 20000000
set linesize 4000
LordScree가 제안한대로 LINESIZE를 설정하는 것 외에도 콘솔 너비 문제를 극복하기 위해 파일로 출력하도록 지정할 수도 있습니다. 방법은 다음과 같습니다.
set linesize 15000;
spool myoutput.txt;
SELECT
...
spool off;
사실, 그것조차도 나에게는 효과가 없었습니다. 내가 "select dbms_metadata.get_ddl ( 'TABLESPACE', 'TABLESPACE_NAME') from dual;"을 실행했을 때 다시 처음 세 줄만 얻었지만 이번에는 각 줄이 15,000 자로 채워졌습니다. 이 문제를 해결할 수있었습니다.
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),80) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),160) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),240) from dual;
더 쉬운 방법이 있어야 할 것 같았지만 찾을 수 없었습니다.
내가 사용하는 것 :
set long 50000
set linesize 130
col x format a80 word_wrapped;
select dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA') x from dual;
아니면 내가 뭔가를 놓치고 있습니까?
이 제안 중 어느 것도 저에게 효과가 없었습니다. 마침내 내가 할 수있는 다른 것을 찾았습니다 dbms_output.put_line
. 예를 들면 :
SET SERVEROUTPUT ON
begin
for i in (select dbms_metadata.get_ddl('INDEX', index_name, owner) as ddl from all_indexes where owner = 'MYUSER') loop
dbms_output.put_line(i.ddl);
end loop;
end;
/
팔. 내가 원하는 모든 것을 인쇄했습니다. 그리고 그것은 바로 작동합니다 sqlplus
. 별도의 파일이나 다른 곳에 넣을 필요가 없습니다.
Windows에서는 다음을 시도 할 수 있습니다.
- sqlplus 창에서 오른쪽 클릭
- 속성 선택-> 레이아웃
- increase screen buffer size width to 1000
ReferenceURL : https://stackoverflow.com/questions/7384789/how-to-increase-sqlplus-column-output-length
'UFO ET IT' 카테고리의 다른 글
행이 문자열과 일치하는 데이터 프레임에서 행 제거 (0) | 2021.01.12 |
---|---|
Java에는 C ++와 같은 이니셜 라이저 목록이없는 이유는 무엇입니까? (0) | 2021.01.12 |
박스 섀도우를 중화하는 방법? (0) | 2021.01.12 |
기본적으로 "필요한"경로는 무엇입니까? (0) | 2021.01.12 |
Chrome을 사용하여 쿠키를 어떻게 확인합니까? (0) | 2021.01.12 |