PL SQL

PL/SQL 예외 처리 (Exception Handling) - 4 (사용자 정의 에러)

n.han 2016. 7. 6. 14:15

3) 사용자 정의 예외               (명시적 발생)

    특정 상황에 대해서 사용자가 의도적으로 예외를 발생 시킬 수 있다. 이는 RAISE 키워드를 통해서 예외를 발생 시킴으로서 구현된다. 다음은       SQL%NOTFOUND TRUE일 때 사용자 정의 예외를 RAISE하는 예제이다.

 

DECLARE
  v_deptno             NUMBER       := 50 ;
  v_name               VARCHAR2(20) := 'Testing' ;
  e_invalid_department EXCEPTION;
BEGIN
  UPDATE dept SET dname = v_name WHERE deptno = v_deptno ;
  IF SQL%NOTFOUND THEN
    RAISE e_invalid_department ;
  END IF;
  COMMIT;
EXCEPTION
WHEN e_invalid_department THEN
  DBMS_OUTPUT.PUT_LINE('No such department id.');
END;
/
No such department id.
PL/SQL procedure successfully completed.