반응형
제한된 제어로 Oracle View Definition 가져오기
문제는 사용자 지정 SQL 러너가 오라클의 읽기 전용 DB에 연결되어 있다는 것입니다.
저는 뷰의 정의를 얻고 싶습니다.
select TEXT
FROM all_VIEWS
where VIEW_NAME = '<view_name>';
제한된 텍스트를 반환합니다.최대 100자까지 가능합니다.모든 보기가 이 보기보다 깁니다.
제가 찾은 도움말 파일에는 전체 필드를 캡처하기 전에 'set long 10000'을 추가한 것으로 나와 있습니다.
SQL> set long 10000
SQL> select TEXT
2 FROM all_VIEWS
3 where VIEW_NAME = '<view_name>';
나는 그것을 칠 수 있는 접근 권한이 없습니다.set long 10000
다른 창문으로 달려가고 있기 때문입니다.나의 제한된 능력으로 완전한 정의를 얻을 수 있는 다른 방법이 있습니까?
문제는 보기 정의가 들어 있는 LONG 열입니다.
DBMS_METADA를 사용할 수 있습니다.보기 텍스트를 CLOB로 가져오는 TA 패키지
select DBMS_METADATA.GET_DDL ('VIEW','view_name','owner') from dual;
@Marmite의 제안을 사용하여DBMS_METADATA.GET_DDL
사용 중인 도구를 사용하여 한 번에 100자만 검색할 수 있다고 가정하면 다음과 같이 전체 보기를 검색할 수 있습니다.
SELECT view_name, LEVEL "Line No",
DBMS_LOB.SUBSTR(view_clob, 100 ,1 + (LEVEL-1)*100) line_text FROM (
SELECT view_name, owner,
DBMS_METADATA.GET_DDL('VIEW', view_name, owner) view_clob
FROM all_views WHERE view_name = '<view_name>'
) CONNECT BY LEVEL <= CEIL(LENGTHB(view_clob)/100) ORDER BY LEVEL;
언급URL : https://stackoverflow.com/questions/31104012/get-oracle-view-definition-with-limited-control
반응형
'programing' 카테고리의 다른 글
그리기 가능한 리소스 이미지를 비트맵으로 변환 (0) | 2023.08.15 |
---|---|
PHP의 SQL을 사용하여 초 단위로 날짜 시간 저장 (0) | 2023.08.15 |
PowerShell에서 어레이 변수 비교 (0) | 2023.08.15 |
64비트 시스템에서 32비트 모드로 Oracle Client 실행 (0) | 2023.08.15 |
Firebug를 사용하여 Ajax 코드 디버깅 중 (0) | 2023.08.15 |