2016년 7월 28일 목요일

[IT실무고급교육★탑크리에듀][PL/SQL예외처리]RAISE_APPLICATION_ERROR 구문을 이용하는 방법


[PL/SQL예외처리]RAISE_APPLICATION_ERROR 구문을 이용하는 방법

RAISE_APPLICATION_ERROR 구문을 이용하는 방법

 사용자가 임의의 조건으로 SQLCODE와 SQLERRM을 정의할 수 있다.
 SQLCODE는 -20999번에서 -20000번 사이 정수로 정의하며 EXCEPTION절을 사용하지 않아도 된다.


SQL> CREATE OR REPLACE PROCEDURE insertemp3(v_empno  IN emp.empno%TYPE ,
  2                                        v_ename  IN emp.ename%TYPE,
  3                                        v_sal    IN emp.sal%TYPE)
  4  IS
  5  BEGIN
  6    IF v_sal < 5000 THEN
  7      INSERT INTO emp (empno, ename, sal)
  8      VALUES(v_empno, v_ename, v_sal) ;
  9      DBMS_OUTPUT.PUT_LINE ('정상입력OK...') ;
 10    ELSE
 11    RAISE_APPLICATION_ERROR(-20000,'급여가 너무 큽니다. 5000 미만으로 입력하세요!');
 12    END IF ;
 13  END;
 14  /
프로시저가 생성되었습니다.

SQL> exec insertemp3(5555,'오자커',5555)
BEGIN insertemp3(5555,'오자커',5555); END;
*
1행에 오류:
ORA-20000: 급여가 너무 큽니다. 5000 미만으로 입력하세요!
ORA-06512: "SCOTT.INSERTEMP3",  11행
ORA-06512:  1행

댓글 없음:

댓글 쓰기