1. RAISE_APPLICATION_ERROR를 사용하여 오류코드 -20000부터 -20999의 범위 내에서 사용자 정의 예외를 만들 수 있다.
- STEP 1: DECLARE OR IS ... 예외의 이름을 선언 (선언절)
- STEP 2: RAISE문을 사용하여 직접적으로 예외를 발생시킨다. (실행절)
- STEP 3: 예외가 발생할 경우 해당 예외를 참조한다. (예외절)
ex) step 1: 예외의 이름을 선언
sync_exec_day Exception;
V_SYNC_DAY VARCHAR2(4) := TO_CHAR(SYSDATE,'YD');
ex) step 2: RAISE 문을 사용하여 직접적으로 예외를 발생시킨다.
IF V_SYNC_DAY IN ('목','일') THEN
RAISE sync_exec_day;
END IF;
ex) step 3: 예외가 발생할 경우 해당 예외를 참조한다.
EXCEPTION WHEN sync_exec_day THEN RAISE_APPLICATION_ERROR (-20001, '목,일요일에는 데이터를 갱신할 수 없습니다.' );
/* 예제 프로시저 */
SET SERVEROUTPUT ON;
DECLARE
V_SYNC_DAY VARCHAR2(4) := TO_CHAR(SYSDATE,'DY');
sync_exec_day EXCEPTION;
BEGIN
IF V_SYNC_DAY IN ('토','일') THEN
RAISE sync_exec_day ;
END IF;
EXCEPTION
WHEN sync_exec_day THEN
RAISE_APPLICATION_ERROR(-20001,'토,일요일엔 데이터를 갱신할 수 없습니다.');
END;
/
'PL-SQL' 카테고리의 다른 글
PL/SQL (24) 오라클(Oracle) 트리거(Trigger) (0) | 2017.03.30 |
---|---|
PL/SQL(23) 오라클 스키마 정보 확인 (0) | 2017.03.30 |
PL/SQL (21) AUTHID , PRAGMA , parallel enable 힌트, deterministic (0) | 2017.03.30 |
PL/SQL (20) 패키지 Package (1) (0) | 2017.03.29 |
PL/SQL (19) 인기과정테이블의 일부 데이터를 추천과정 테이블로 insert하는 프로시저 (0) | 2017.03.28 |