[DB] PL/SQL, 프로시저, 함수 내용 조회하기

SSuyn·2023년 7월 17일
0

DataBase

목록 보기
9/10

오늘은 어떤 개발자 과장님이 갑자기 요청하신 내용이라서 가져와봤습니다.

내가 만든 프로시저 안에 테이블이나 함수 같은거 검색하고 싶은데 그게 될까?

%like% 를 이용하면 될 것 같은데 해.. 해보겠습니다!

프로시저를 사용할 때 다른 프로시저를 호출하는 등 연관이 많고 사용할수록 목록도 늘어나기 때문에 어느 프로시저에 어떤 테이블이 사용되는지,
어떤 함수를 고쳐야하는데 이 함수를 사용하고 있는 프로시저들을 나열해야 할 때가 많을 것이다.

이럴때 DBA_SOURCE를 사용하면 된다.

일단 이런 내용을 검색할 때 자주 사용하는 data dictrionary를 살펴보자

DBA_SOURCE : 프로시저,함수의 내용과 type 정보가 있음
DBA_OBJECTS : DB에 존재하는 모든 오브젝트의 목록 정보가 있음 (table, view, procedure, function...)
DBA_PROCEDURES : DB에 존재하는 프로시저 목록 정보 있음

프로시저 조회

프로시저에 있는 내용을 검색하고 싶다면 해당 쿼리를 돌려보면 된다.

Select * 
From dba_source
Where 1=1
     And type='procedure'
     And text like '%검색하고싶은내용%'
Order by name, line;

함수 조회

함수에 있는 내용을 검색하고 싶다면 해당 쿼리를 돌려보면 된다.

Select * 
From dba_source
Where 1=1
     And type='function'
     And text like '%검색하고싶은내용%'
Order by name, line;
profile
한량 DBA

0개의 댓글