[DB] ORACLE

[ORACLE] OBJECT(PACKAGE, PROCEDURE, FUNCTION) SOURCE 조회

mewoni 2023. 5. 31. 07:29
반응형

대부분의 GUI 툴 환경에서 메뉴를 통해 조회가 가능하지만 불가피한 경우 쿼리로 조회해야하는 경우가 생긴다.

 

SYS 권한이나 전체 데이터베이스 OWNER 권한을 가지고 있는 사용자라면 

ALL_SOURCE DICTIONARY 테이블을 통해 전체 스키마에 대한 오브젝트 조회가 가능하며

 

그렇지 않을 경우, USER_SOURCE 테이블을 사용하여 오브젝트 타입별 스크립트 내용 조회가 가능하다.

-- 데이터베이스 내 전체 스키마 오브젝트 조회
SELECT NAME, TYPE, LINE, TEXT
FROM ALL_OBJECT
WHERE OWNER = '[OWNER]'
AND   NAME LIKE '%[OBJECT NAME]%'
AND   TYPE IN ('PACKAGE', 'PACKAGE BODY', 'FUNCTION', 'PROCEDURE');

-- 현재 접속한 스키마의 오브젝트만 조회
SELECT *
FROM USER_OBJECT
WHERE NAME LIKE '%[OBJECT NAME]%'
AND   TYPE IN ('PACKAGE', 'PACKAGE BODY', 'FUNCTION', 'PROCEDURE');
반응형