PL/SQL (4) ORA-01403: no data found 대처 SQL문 (EXCEPTIOIN)
SET SERVEROUTPUT ON;
ACCEPT P_DEPT_NO PROMPT '정보를 원하는 부서번호를 입력하세요.';
DECLARE
V_EMP_NO NUMBER(8) := 0;
V_EMP_ID VARCHAR2(30);
V_EMP_NM VARCHAR2(20);
V_DEPT_NO NUMBER(4) := &P_DEPT_NO;
V_SAL NUMBER(10) := 0;
BEGIN
SELECT EMP_NO, EMP_ID, EMP_NM, DEPT_NO, SAL
INTO V_EMP_NO, V_EMP_ID, V_EMP_NM, V_DEPT_NO, V_SAL
FROM TB_LS_EMP867
WHERE DEPT_NO = V_DEPT_NO;
DBMS_OUTPUT.PUT_LINE(V_EMP_NO);
DBMS_OUTPUT.PUT_LINE(V_EMP_ID);
DBMS_OUTPUT.PUT_LINE(V_EMP_NM);
DBMS_OUTPUT.PUT_LINE(V_DEPT_NO);
DBMS_OUTPUT.PUT_LINE(V_SAL);
--ORA-01403: no data found 대처 SQL문
-- 실제 인출은 요구된 것보다 많은 수의 행을 추출합니다.
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN OTHERS THEN
NULL;
END;
/
-- EXCEPTION 처리를 해줘야한다. (루프를 안돌렸으므로) 그렇지않으면 에러 발생 exact fetch returns more than requested number of rows