2014년 6월 24일 화요일

(구로디지털단지/가산,오라클자바커뮤니티,SQL교육,SQL학원ORACLE PLSQL)오라클 EXCEPTION으로 CATCH(ORA-00942, ORA-06550, "table or view does not exist") ,오라클교육학원

(구로디지털단지/가산,오라클자바커뮤니티,SQL교육,SQL학원ORACLE PLSQL)오라클 EXCEPTION으로 CATCH(ORA-00942, ORA-06550, "table or view does not exist") ,오라클교육학원

create or replace procedure deleteTable
is
notfoundtable                EXCEPTION;
    PRAGMA EXCEPTION_INIT  (notfoundtable, -942);
BEGIN
          DELETE FROM onj;
EXCEPTION
          WHEN notfoundtable THEN NULL;
    DBMS_OUTPUT.PUT_LINE(SQLCODE ||  ' ** '  || SQLERRM);
END;
/

[오류 메시지]

DELETE FROM ex1;
                      *
ERROR at line 10:
ORA-06550: line 10, column 23:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 10, column 11:
PL/SQL: SQL Statement ignored


위 오류는 컴파일 시점에 발생하는 오류이기 때문에 EXCEPTION절로 잡을 수가 없다.
이를 잡아내기 위해서는 동적SQL로 만들어 런타임 오류로 잡아야 한다.
PL/SQL EXCEPTION구문으로 잡을 수 있는것은 런타임 오류임을 명심하자.



[해결방법]

SQL> create or replace procedure deleteTable
    is
        notfoundtable          EXCEPTION;
        PRAGMA EXCEPTION_INIT  (notfoundtable, -942);
    BEGIN
              --DELETE FROM onj;
            EXECUTE IMMEDIATE 'DELETE FROM onj';
    EXCEPTION
        WHEN notfoundtable THEN NULL;
      DBMS_OUTPUT.PUT_LINE(SQLCODE ||  ' ** '  || SQLERRM);
 10  END;
 11  /

Procedure created.

SQL> exec DELETEONJ;

PL/SQL procedure successfully completed.

SQL> set serveroutput on
SQL> exec DELETEONJ;
-942 ** ORA-00942: table or view does not exist

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(6/30)[기업100%환급]안드로이드개발자과정
(6/30)[기업100%환급]SQL기초에서 Schema Object까지
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정

평일야간(19:00~21:50) 개강
(6/26)SQL초보에서실전전문가까지
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(6/28)Spring3.X, MyBatis, Hibernate실무과정
(6/28)안드로이드개발자과정
(6/28)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
(6/28)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터

주말저녁(18:30~22:20) 개강
(6/28)JAVA,Network&WEB&Framework
(6/28)SQL기초에서실무까지

댓글 없음:

댓글 쓰기