본문 바로가기
프로그래밍/DBMS

오라클 SELECT .. INTO 시 결과 없을 때 처리 방법

by zoo10 2016. 1. 28.

오라클 프로시져 작성 중에 변수에 데이터를 담아 처리중에 발생한 오류였다.

값이 없을수도 있는 경우를 대비해 예외 처리를 하고 아래 로직이 실행되어야 해서 고민하다 알게 된 방법.

물론 구글느님께서 검색해 주셨다.


SELECT .. INTO 시 NO DATA FOUND 예외인 경우 아래와 같이 처리한다.


CREATE OR REPLACE PROCEDURE PROC_TEST
IS
BEGIN

{ 다른 처리 내용....}

BEGIN
SELECT COL1 INTO V_COL1 FROM TB_TMP WHERE COND1 = ''

EXCEPTION
    WHEN NO_DATA_FOUND THEN
        V_COL1 := NULL;
    

IF V_COL1 IS NOT NULL THEN
    ..프로세스 처리
END IF;

END;

아래 다른 로직 처리....

END;
/

위와 같이 BEGIN.. END 블럭으로 감싼 후 처리하면 된다.