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.
'PL SQL' 카테고리의 다른 글
PL/SQL 프로시저(Procedure) - 1 (정의와 Syntax) (0) | 2016.07.06 |
---|---|
PL/SQL 예외 처리 (Exception Handling) - 5 (RAISE_APPLICATION_ERROR) (2) | 2016.07.06 |
PL/SQL 예외 처리 (Exception Handling) - 3 (미리 정의되지 않은 에러) (0) | 2016.07.06 |
PL/SQL 예외 처리 (Exception Handling) - 2 (미리 정의된 에러) (0) | 2016.07.06 |
PL/SQL 예외 처리 (Exception Handling) - 1 (예외 처리의 정의와 발생 상황, 유형) (0) | 2016.07.06 |