PL/SQL
PL/SQL오류의 종류
달콤한부자
2014. 11. 25. 19:10
PL/SQL오류의 종류
예 외 | 설 명 | 처 리 |
---|---|---|
미리 정의된 오라클 서버 오류(Predefined Oracle Server) | PL/SQL에서 자주 발생하는 약20개의 오류 | 선언할 필요도 없고, 발생시에 예외 절로 자동 트랩(Trap) 된다. |
미리 정의되지 않은 오라클 서버 오류 (Non-Predefined Oracle Server) | 미리 정의된 오라클 서버 오류를 제외한 모든 오류 | 선언부에서 선언해야 하고 발생시 자동 트랩된다. |
사용자 정의 오류 (User-Defined) | 개발자가 정한 조건에 만족하지 않을경우 발생하는 오류 | 선언부에서 선언하고 실행부에서 RAISE문을 사용하여 발생시켜야 한다 |
- 미리 정의된 오라클 서버 오류 (Predefined Oracle Server)
- NO_DATA_FOUND : SELECT문이 아무런 데이터 행을 반환하지 못할 때
- DUP_VAL_ON_INDEX : UNIQUE 제약을 갖는 컬럼에 중복되는 데이터가 INSERT 될 때
- ZERO_DIVIDE : 0으로 나눌 때
- INVALID_CURSOR : 잘못된 커서 연산예
예시) WHEN DUP_VAL_ON_INDEX THEN
SHOW_MESSAGE('데이터가 존재 합니다.');
SHOW_MESSAGE('DUP_VAL_ON_INDEX 에러 발생');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS에러 발생');
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND에러 발생');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('기타 에러 발생');