(새 문서: 예외처리 고급 예시 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...) |
(차이 없음)
|
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
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 처리 가능
⸻