오라클의 procedure 나 function 사용시 예외발생에 대한 처리가 반드시 필요.
그 중에서도 원하는 예외부분이나 특정예외일때 그 예외에 따른 결과값을 원할때 사용자정의 exception 을 활용
예외이름 EXCEPTION;
PRAGMA EXCEPTION_INIT(예외이름, 오류번호);
--예제
CREATE OR REPLACE FUNCTION TEST_F(IN_CHAR_DATE IN VARCHAR2)
RETURN VARCHAR2
IS
V_RETURN_VAL VARCHAR2(3);
--사용자 정의 예외 이름
V_EXCEPTION EXCEPTION;
--ORA-01841: 년은 영이 아닌 -4713 과 +4713 사이의 값으로 지정해야 합니다. 에 대한 오류번호
PRAGMA EXCEPTION_INIT(V_EXCEPTION, -1841);
BEGIN
IF TO_DATE(IN_CHAR_DATE,'YYYYMMDD') > SYSDATE THEN
V_RETURN_VAL := 'OK';
ELSE
V_RETURN_VAL := 'NO';
END IF;
RETURN V_RETURN_VAL;
EXCEPTION
--미리 정의해놓은 예외처리가 발생했을 경우 처리부분
WHEN V_EXCEPTION THEN
RETURN 'ER2';
WHEN OTHERS THEN
-- RETURN sqlcode||' / '||sqlerrm;
RETURN 'ER1';
END TEST_F;
--예제결과
SELECT TEST_F('A') TEST1,
TEST_F('20160101') TEST2
FROM DUAL
;
오라클 NVL, NVL2 함수의 예제 (2) | 2016.03.03 |
---|---|
오라클 전화번호 자르기, 정규식 활용 (3) | 2016.02.22 |
오라클 비율구하기 RATIO_TO_REPORT 예제 (0) | 2016.01.26 |
오라클 컬럼 추가, 삭제, 변경 예시 (0) | 2016.01.20 |
오라클 AS OF TIMESTAMP 예제 및 활용, 수정 전 데이터 확인 (0) | 2016.01.19 |
댓글 영역