▣ Oracle PL/SQL/Procedure 예외처리(Exception) 하는법

 

안녕하세요 기요밍 입니다.

오라클을 이용해 시스템을 구축하다보면 UI 데이터 조회 및 집계 테이블생성등을 위해 PL/SQL과 프로시저를 많이 사용하는데요. 예상치 못한 상황과 데이터로인한 오류를 방지하기 위해 예외처리 그러니까 Exception 처리를 해줘야 합니다. 그래서 이번에는 프로시져 예외처리를 하는 방법에 대해서 알아보겠습니다.

 

Oracle에서 정의 된 예외상황 발생 시 처리, 사용자 정의 Exceoption 처리, 예외처리부가 아닌 실행부에서 예외처리 하는법 이렇게 3가지 카테고리로 나눠서 설명을 해보겠습니다.

 

 

오라클에서 정의 된 예외상황 처리하기

 

 

 

 EXCEPTION

 WHEN exception1 THEN
     처리1;
     처리2;

 WHEN exception2 THEN
     처리3;
     처리4;

 WHEN OTHERS THEN
     처리5;

 

 

위와 같이 각 Exception별 처리를 구분할 수 있습니다. OTHERS를 통해 지정되지 않은 예외상황을 처리할수도 있고요. 만약 모든 Exception에 대해서 동일한 처리를 한다면 OTHERS부분만 지정을 해주셔도 됩니다.

 

 

사용자 정의 Exception 처리

 

RAISE를 이용하여 Exception을 발생 시킬 수 있습니다.

 

 

 IF 조건 THEN
     RAISE USER_EXCEPTION;
 END IF;

 

 EXCEPTION  
     WHEN USER_EXCEPTION THEN
          DBMS_OUTPUT.PUT_LINE('사용자 정의 Exception');

 

 

이렇게 Case 별로 특정 예외를 발생 시키고 EXCEPTION 문에서 그것을 잡아 처리 하면 됩니다.

맨 마지막 부분에는 OTHER를 넣어주시면 되겠죠?

 

 

실행부에서 예외처리 하는 법

 

RAISE_APPLICATION_ERROR 프로시져를 사용하면 실행부에서 예외 처리를 할 수 있습니다.

 

 

  IF 조건 THEN
     RAISE_APPLICATION_ERROR(에러코드, 에러내용);
  END IF;

 

 

위와같이 2개의 매개변수 에러코드와 내용을 Input으로 넣어주면 됩니다.

 

이상 PL/SQL 및 프로시저에서 예외처리를 하는 법에 대해서 알아봤는데요!! 이해가 잘 되시나요?

아마 보기만 해서는 이해가 잘 안되실꺼에요^^ 한번 실습을 해보시면 생각보다 간단하니까 쉽게 이해하실 수 있으실 겁니다.

 

 

▼ 공감은 로그인을 하지 않아도 가능 합니다.

블로그 이미지

기요밍b

IT와 게임 블로그 입니다!!^^

,