SQL PL/SQL EXCEPTION
PL/SQL에서 발생하는 ERROR를 EXCEPTION이라 함
EXCEPTION
WHEN exception명1[OR exception명2...]THEN
문장1;
문장2;
[WHEN exception명3[OR exception명4...]THEN
문장1;
문장2;...]
[WHEN OTHERS THEN
문장1;
문장2; ...]
PREDEFINED EXCEPTION
DECLARE SECTION에서 선언할 필요 없음
- NO_DATA_FOUND : 데이터를 반환하지 않는 SELECT문
- TOO_MANY_ROWS : 두개 이상을 반환한 SELECT문
- INVALID_CURSOR : 잘못된 CURSOR 연산 발생
- ZERO_DIVIDE : 0으로 나누기
- DUP_VAL_ON_INDEX : UNIQUE COLUMN에 중복된 값을 입력할때
DECLARE
exception명 EXCEPTION;
PRAGMMA EXCEPTION_INIT(exception명, 에러번호);
BEGIN
...
EXCEPTION
WHEN exception명 THEN
...
END;
USER DEFINE EXCEPTION
DECLARE
exception 명 EXCEPTION;
BEGIN
RAISE exception명;
...
EXCEPTION
WHEN exception명 THEN
...
END;
SQLCODE, SQLERRM
일반적인 Error처리를 위하여 오라클에서 제공하는 함수인 SQLCODE, SQLERRM을 활용할 수 있다.
WHEN OTHER 절의 사용
-예상치 못한 Error처리를 위해서 미리 선언되지 않은 모든 종류의 Error를 처리함
SQLCODE
-오라클에서 지정된 Error Code를 숫자로 Return
SQLERRM
-오라클에서 지정된 Error Code에 해당하는 Error message를 Return
댓글
댓글 쓰기