PL/SQL (16) EXCEPTION 및 예제
-- 1. 예외처리가 필요한 이유
-- 1) 오라클 에러메세지를 사용자의 편의에 따라 출력할 수 있다.
-- 2) 프로그램을 수행되게 할 때, 몇가지 오류가 있는 data 때문에
-- 전체 프로그래밍이 실패하는 현상을 방지하기 위해서 필요하다.
-- 2. 예외의 종류 3가지
-- 1) 미리 정의 해놓은 예외처리
-- 2) 미리 정의하지 않은 예외처리
-- 3) 사용자 정의 예외처리
-- 3. 예외 트랩에 대한 함수
-- 1) SQLCODE 오류코드에 대한 숫자값 반환
-- 2) SQLERRM 오류번호와 연관된 메시지를 반환 ★
예제 1. 미리 정의해놓은 예외처리를 이용해서 사원번호를 입력하였을 때,
-- 해당사원은 없습니다. 라는 메세지를 출력하게 하라. (월급출력)
SET SERVEROUTPUT ON;
ACCEPT P_EMP_NO PROMPT '사원번호를 입력해주세요';
DECLARE
V_EMP_NO NUMBER(8):= &P_EMP_NO;
V_SAL NUMBER(12) := 0;
BEGIN
SELECT SAL
INTO V_SAL
FROM TB_LS_EMP867
WHERE EMP_NO = V_EMP_NO;
DBMS_OUTPUT.PUT_LINE('V_SAL :::' || V_SAL);
EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('프로시저 처리도중 예외가 발생하였습니다.');
SYS.DBMS_OUTPUT.PUT_LINE ('Error Code ::: ' || TO_CHAR(SQLCODE));
SYS.DBMS_OUTPUT.PUT_LINE ('Error Number ::: ' || SQLERRM);
END;
/
--
출처: https://sourceflower.tistory.com/40?category=608037 [소스플로우]
'Database > Oracle PLSQL' 카테고리의 다른 글
PL/SQL (20) 패키지 Package (1) (0) | 2019.04.04 |
---|---|
PL/SQL (19) 인기과정테이블의 일부 데이터를 추천과정 테이블로 insert하는 프로시저 (0) | 2019.04.04 |
PL/SQL (18) REF CURSOR, 동적쿼리 (예제 완벽 x) (0) | 2019.04.04 |
PL/SQL (17) 동적 SQL개념 및 예제 (0) | 2019.04.04 |
PL/SQL (15) PL/SQL 정리 및 예제 (0) | 2019.04.04 |
PL/SQL (14) PL/SQL의 종류 (0) | 2019.04.04 |
PL/SQL (13) FOR .. LOOP을 활용하여 EMP745 테이블의 레코드를 업데이트하여라. (0) | 2019.04.04 |
PL/SQL (12) WHILE LOOP을 활용하여 EMP745 테이블의 레코드를 업데이트하여라. (0) | 2019.04.04 |