[오라클 SQL] 오라클 프로시저(Procedure) 존재 유무 SQL(쿼리)로 확인하기


안녕하세요.

 

오늘은 오라클에서 내부적으로 이미 생성되어 있는 프로시저(Procedure) 존재 유무를 SQL문으로 확인하는 방법에 대해서 알려 드리려고 합니다.

 

저 같은 경우는, C# 으로 된 프로젝트를 오라클과 같이 연동 하면서 프로시저를 호출할 일이 있었는데, 프로시저를 호출하기 전에 조건으로 먼저 내가 호출하고 싶은 프로시저가 오라클 내부에 있는지 없는지 체크를 하려고 로직을 구현하면서 사용했던 SQL 문입니다.


 

그럼 바로 오라클에서 어떻게 내부 프로시저가 있는지 확인하는 SQL문을 알아 보도록 하겠습니다.

 

먼저 저는 이미 아래와 같이 4개의 프로시저를 테스트 하기 위해서 만들어 놓았습니다.

 


 

그럼 이제 위의 프로시저를 SQL로 어떻게 확인하는지 보여 드리겠습니다.

 

예제 코드


1

2

3

4

5

SELECT OWNER || '.' || OBJECT_NAME AS PROC FROM DBA_OBJECTS

WHERE 1=1

AND OWNER = 'WIN' --조회 하고자 하는 스키마

AND OBJECT_TYPE = 'PROCEDURE' --프로시저 조회

 

Colored by Color Scripter

cs


실행 결과



위와 같이 WIN 스키마에 4개의 프로시저가 조회된 것을 확인하실 수 있습니다.

 

참고로, WHERE 절에서 OBJECT_TYPE은 프로시저 말고도 PACKAGE(패키지), FUNCTION(함수), TRIGGER(트리거) 등의 생성 유무도 조회 할 수 있습니다.

 

이로써 오늘은 간단히 오라클에서 내부 프로시저(PROCEDURE) 조회하는 방법에 대해서 알아 보았습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY