메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

예외처리 고급 예시

3-1. 사용자 정의 예외 처리

DECLARE

 e_too_young EXCEPTION;
 v_age NUMBER := 15;

BEGIN

 IF v_age < 18 THEN
   RAISE e_too_young;
 END IF;

EXCEPTION

 WHEN e_too_young THEN
   DBMS_OUTPUT.PUT_LINE('나이가 너무 어립니다!');

END;


3-2. OTHERS 예외 로그 저장

DECLARE

 v_emp_id NUMBER := 99999;
 v_name   VARCHAR2(50);

BEGIN

 SELECT first_name INTO v_name
 FROM employees
 WHERE employee_id = v_emp_id;

EXCEPTION

 WHEN OTHERS THEN
   INSERT INTO error_log(log_time, message)
   VALUES (SYSDATE, SQLERRM);
   DBMS_OUTPUT.PUT_LINE('오류 발생: ' || SQLERRM);

END;

SQLERRM = 최근 발생한 에러 메시지 SQLCODE = 최근 에러 코드

요약

항목 요점 프로시저 동작 실행 (값 반환 X) 함수 값을 반환 (RETURN 사용) 커서 여러 행 반복 처리 시 사용 예외처리 EXCEPTION 블록 + 사용자 정의 또는 OTHERS 처리 가능