본문 바로가기

Database/PLSQL

065 - [Oracle PL/SQL] Design - Standardizing

<샘플코드에서 사용한 데이터는 HR 스키마이고, 오라클 설치시 생성할 수 있는 기본 스키마 입니다>

 

 

 

 

 

 

 

 

 

 

 

  • 에러처리를 고급스럽게 처리하는 방법, 샘플코드, 사용자 정의 오류와 오라클 표준 에러를 동시에 처리하는 방법
delete from DEPARTMENTS
/*
Error report -
ORA-02292: integrity constraint (HR.EMP_DEPT_FK) violated - child record found
*/



declare
e_fk_err exception;
pragma EXCEPTION_INIT (e_fk_err, -02292);
begin
    delete from DEPARTMENTS;
exception
    when e_fk_err then
    RAISE_APPLICATION_ERROR (-20001, 'error');
end;
/*
Error report -
ORA-20001: error
ORA-06512: at line 8
*/



# 이렇게 처리하면 사용자정의 에러뿐만 아니라 오라클에서 정의한 에러 정보도 동시에 표시 가능하다
declare
e_fk_err exception;
pragma EXCEPTION_INIT (e_fk_err, -02292);
begin
    delete from DEPARTMENTS;
exception
    when e_fk_err then
    RAISE_APPLICATION_ERROR (-20001, 'error',true);
end;
/*
Error report -
ORA-20001: error
ORA-06512: at line 8
ORA-02292: integrity constraint (HR.EMP_DEPT_FK) violated - child record found
ORA-06512: at line 5
*/

 

 

 

  • 상수를 이용하여 표현을 간략하게, 오류도 줄일수 있는 방법

 

 

 

  • 로컬 서브프로그램을 이용하여 코드를 간결하게 처리