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행

댓글 없음:

댓글 쓰기