공부방/DataBase

[Oracle] 프로시저 내용 조회

SmartCow 2023. 2. 24. 09:55

프로젝트에 투입되어 일을 하다보면 

혼자 일하는게 아니라서 내가 만들지 않은 부분에 대해 조회를 해봐야하는 경우가 있는데 정리되어 있는 문서가 없을 경우 찾아보기가 난해할때가 있다. 그럴때 유용한 기능 중 하나

 

▶ 프로시저, 함수 등의 내용 검색

SELECT A.OBJECT_ID
             , A.OBJECT_NAME
             , A.OBJECT_TYPE
             , A.TEXT
   FROM USER_OBJECTS A
  INNER JOIN USER_SOURCE B ON A.OBJECT_NAME = B.NAME
WHERE A.OBJECT_TYPE IN ("찾고자하는 프로시저 등") /* PROCEDURE, FUNCTION, PACKAGE BODY, PACKAGE 등 */
AND A.TEXT LIKE '%찾으려하는 문구(단어)%'  /* 찾으려는 프로시저 또는 함수 내 문구 입력 */

USER_OBJECTS 테이블 : DB에 존재하는 모든 오브젝트의 목록 정보(TABLE, VIEW, PROCEDURE, FUNCTION, ..)

USER_PROCEDURES 테이블 : DB에 존재하는 프로시저 목록 정보

USER_SOURCE 테이블 : 프로시저의 내용과 TYPE 정보

 

OBJECT_TYPE 항목

PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER, TYPE(이건 잘모르겠다.)

 

 

 프로시저 검색

SELECT * 
  FROM USER_PROCEDURES 
WHERE OBJECT_NAME LIKE '%검색할 단어%';

 

 프로시저 내용조회

SELECT TEXT
   FROM USER_SOURCE
WHERE NAME LIKE '%%'

등등

 

USER_OBJECTS 테이블에 포함된 컬럼을 조건으로 검색하면 필요한 내용을 뽑아낼수 있을거같다.

 

 기타(잡스케쥴조회)

SELECT * FROM ALL_JOBS;
SELECT * FROM USER_JOBS;

 

 

참조

 

[Oracle]Oracle 프로시저(Procedure) 내용 조회

USER_OBJECTS 테이블 : DB에 존재하는 모든 오브젝트의 목록 정보가 있음(TABLE, VIE...

blog.naver.com