데이터베이스

[ORACLE] PL/SQL 예외처리 - EXCEPTION

Seong-Jun 2025. 3. 17. 23:28
728x90
반응형
SMALL

PL/SQL의 예외처리 방법

PL/SQL의 구조 중 예외처리부에서 예외를 처리할 수 있다. 흔히 JAVA의 try-catch를 생각할 수 있다.

 

표현법

EXCEPTION
    WHEN 예외명 THEN 예외처리구문;
    WHEN 예외명 THEN 예외처리구문;
    ...
    WHEN OTHERS THEN 예외처리구문;

 

=> OTHERS : 어떤 예외든 발생되었을 때

오라클에서 미리 정의한 예외 => 시스템 예외

  • NO_DATA_FOUND : 조회된 결과가 없을 때 발생
  • TOO_MANY_ROWS : 조회된 결과가 여러 행일 때 (☞ 변수에 대입)
  • ZERO_DIVIDE : 값을 0으로 나누려고 할 때
  • DUP_VAL_ON_INDEX : UNIQUE 조건에 위배될 때 (중복이 있는 경우)
  • ...
DECLARE
	NUM NUMBER;
BEGIN
	NUM := &숫자;
	DBMS_OUTPUT.PUT_LINE(TO_CHAR(10 / NUM, '0.0'));
	
EXCEPTION
--	WHEN ZERO_DIVIDE THEN DBMS_OUTPUT.PUT_LINE('0으로 나눌 수 없습니다.');
	WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('0으로 나눌 수 없습니다.');
END;
/

 

=> 0을 입력받았을 시 예외처리 발생!

728x90
반응형
LIST