■ PL/SQL에서 사전 정의된 예외를 보여준다.
▶ 사전 정의된 예외
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
───────────────────────────────────────────────────────────────────── 예외명 오라클 오류 SQLCODE 설명 ─────────── ────── ──── ───────────────────────────────────────────── CURSOR_ALREADY_OPEN ORA-6511 -6511 이미 OPEN된 커서를 OPEN하려는 경우 발생한다. DUP_VAL_ON_INDEX ORA-0001 -1 INSERT, UPDATE문으로 고유 인덱스가 잡혀진 컬럼에 값을 저장하는 경우 발생한. INVALID_CURSOR ORA-01001 -1001 존재하지 않는 커서를 참조하는 경우 발생한다. INVALID_NUMBER ORA-01722 -1722 PL/SQL에서 문자열을 숫자로 변환하는 SQL문이 실패했을 경우 발생한다. LOGIN_DENIED ORA-01017 -1017 부적합한 계정으로 오라클 RDBMS에 연결하려고 하는 경우 발생한다. NO_DATA_FOUND ORA-01403 100 다음 세 가지 경우에 발생한다. (1) 결과가 없는 SELECT INTO문(묵시적 커서)을 실행할 때, (2) 로컬 PL/SQL 테이블의 초기화되지 않은 행을 참조할 때, (3) 패키지 UTIL_FILE로 파일의 내용이 끝난 다음에 내용을 읽어 들일 때다. NOT_LOGGED_ON ORA-01012 -1012 오라클 RDBMS에 접속하기 전에 데이터베이스를 호출하는 경우 발생한다. PROGRAM_ERROR ORA-06501 -6501 PL/SQL에 내부 문제가 발생하는 경우 발생한다. STORAGE_ERROR ORA-06500 -6500 메모리 초과나 오류가 발생했을 경우 발생한다. TIMEOUT_ON_RESOURCE ORA-00051 -51 자료 대기 중 RDBMS에서 타임아웃(timeout)이 발생한 경우 발생한다. TOO_MANY_ROWS ORA-01422 -1422 하나 이상의 결과 값을 반환하는 SELECT INTO문을 실행한 경우 발생한다. TRANSACTION_BACKED_OUT ORA-00061 -61 명시적으로 ROLLBACK을 실행했거나 다른 동작의 결과로, 원격 트랜잭션 부분이 롤백되는 경우다. VALUE_ERROR ORA-06502 -6502 형 변환, 절단, 부적합한 숫자형과 문자형 데이터를 사용하는 경우 발생한다. 이 오류가 PL/SQL 블록의 SQL DML문에서 발생하면, INVALID_NUMBER 예외가 발생한다. ZERO_DIVIDE ORA-01476 -1476 0으로 나눗셈을 하는 경우 발생한다. ───────────────────────────────────────────────────────────────────── |