본문 바로가기
DATABASE/Oracle

[Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기

by DANEW 2024. 11. 15.

Procedure 내용 찾기

특정 테이블이 사용되는 프로시저를 찾거나, 특정한 구문이 포함된 프로시저를 찾아야 할 때가 있다.

간단한 쿼리로 해당 프로시저를 찾을 수 있으며, 프로시저가 아닌 Function / Trigger /Package 등의 내용을 찾을때도 사용 할 수 있다.

 

Query

select a.object_id,
       a.object_name,
       a.object_type,
       b.line,
       b.text
  from DBA_OBJECTS a
 inner join DBA_SOURCE b
    on a.object_name = b.name
 where a.object_type = 'PROCEDURE' -- FUNCTION / TRIGGER / PACKAGE
   and a.owner = '[Owner Name]'
   and upper(b.text) like '%[프로시저 내에서 찾을 구문 대문자]%'

 

해당 쿼리를 사용하면 프로시저 내에서 찾을 구문을 포함한 프로시저 내의 행을 반환한다.

 

조건절 object_type = 'PROCEDURE' 부분에 FUNCTION / TRIGGER / PACKAGE 등 다른 오브젝트 타입을 넣어 다른 오브젝트를 찾을 수 도 있다.

 

반응형