메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Oracle (토론 | 기여)님의 2025년 5월 13일 (화) 19:20 판 (새 문서: 예외처리 고급 예시 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 WH...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

예외처리 고급 예시

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 처리 가능