상세 컨텐츠

본문 제목

오라클 프로시저 사용자 정의 예외 , raise_application_error 프로시저

관리X 과거글

by 까먹기전에 2015. 6. 12. 16:07

본문

반응형


CREATE OR REPLACE PROCEDURE GEE.TEST(

cursortest OUT SYS_REFCURSOR

)IS

v_emp_code VARCHAR2(30);

gee_exception_test EXCEPTION;

  PRAGMA EXCEPTION_INIT(gee_exception_test,-01400); -- can not insert null 에러 뜸


BEGIN


BEGIN

OPEN cursortest FOR

  SELECT STANDARD_DAY,TIME,IN_OUT_DIVISION,EMP_CODE

  FROM day_attribute;

  END;

  FOR asd IN(

  SELECT * FROM emp

  )LOOP

  BEGIN

      INSERT INTO emp

            (emp_code)

       VALUES

            (asd.emp_code);

  EXCEPTION WHEN gee_exception_test THEN

      dbms_output.put_line('에러났니?ㅡ'||'SQLERRMㅡ'||SQLERRM);



      RAISE_APPLICATION_ERROR(-20001,'에러 일부러 내기!ㅎㅎ'); --정의되지 않은 에러 발생 20000~20999번까지 오류번호 쓸수있음

        

      END;

  

  END LOOP;

  


END TEST;






관련글 더보기