by 구루비 PRAGMA EXCEPTION_INIT 미리 정의되지 않은 예외 EXCEPTION [2002.01.20]
미리정의되지 않은 예외는 사용자가 선언절에서 예외명을 정의하고, Oracle Server에서 제공하는 Error 번호를 사용하여, 정의된 예외와 연결한 후 EXCEPTION절에서 정의된 예외를 사용한다.
- STEP 1 : 예외의 이름을 선언 (선언절)
- STEP 2 : PRAGMA EXCEPTION_INIT문장으로 예외의 이름과 오라클 서버 오류 번호를 결합 (선언절)
- STEP 3 : 예외가 발생할 경우 해당 예외를 참조한다(예외절)
SQL> CREATE OR REPLACE PROCEDURE NonPreException_Test IS not_null_test EXCEPTION; -- STEP 1 /* not_null_test는 선언된 예외 이름 -1400 Error 처리번호는 표준 Oracle7 Server Error 번호 */ PRAGMA EXCEPTION_INIT(not_null_test, -1400); -- STEP 2 BEGIN DBMS_OUTPUT.ENABLE; -- empno를 입력하지 않아서 NOT NULL 에러 발생 INSERT INTO emp(ename, deptno) VALUES('tiger', 30); EXCEPTION WHEN not_null_test THEN -- STEP 3 DBMS_OUTPUT.PUT_LINE('not null 에러 발생 '); END; / -- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; -- 실행 결과 SQL> EXECUTE NonPreException_Test; not null 에러 발생
- 강좌 URL : http://www.gurubee.net/lecture/1072
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.