말랑말랑제리스타일

[Oracle]테이블이 사용된 프로시저 전체 조회 쿼리 본문

데이터베이스/Oracle SQL

[Oracle]테이블이 사용된 프로시저 전체 조회 쿼리

제리제리 2021. 9. 16. 08:56
SELECT * 
  FROM USER_SOURCE 
WHERE TEXT LIKE '%TAB명%';

Oracle에서 어떤 테이블이 다른 프로시저에서 사용되는지

어떤 프로시저에서 테이블이 업데이트되고 사용되는지 확인할때 사용 가능한 쿼리입니다

USER_SOURCE 테이블에 프로시저를 포함한 프로시저, 패키지, 펑션 등의 PL/SQL 정보가 들어있고 이 테이블을 조회하는 방식입니다

테이블 뿐만 아니라 프로시저에 어떤 문구가 포함된건지도 전부 찾을 수 있기 때문에 유용하다고 할 수 있고

테이블 내용을 수정할때 참고하면 좋겠죠

여기서 NAME 컬럼에는 프로시저 명, TYPE에는 프로시저인지 패키지인지 등 타입, LINE에는 해당되는 라인 TEXT는 실제 테이블 명칭이 사용된 라인 등이 출력됩니다

 

만약 프로시저 명으로만 추리고싶다면

SELECT DISTINCT NAME
  FROM USER_SOURCE 
WHERE TEXT LIKE '%테이블명%';

이런식으로 조회도 가능하겠죠

반응형
Comments