오라클 Function문에서 Select절에서 데이터가 없을시 INTO 처리.. 0 2 559

by 동동동 [PL/SQL] [2020.07.22 15:51:25]


안녕하세요..오라클 Function문 안에 Select절이 있는데 데이터가 없을때 into변수를 처리시 에러가 나네요..

데이터가 없을경우에는 어떻게 처리해줘야 하는지요??

 

SELECT CD1, CD_NM
     INTO OV_CD1, OV_CD_NM
   FROM TBL 
 WHERE .... ;
               
            IF I_IDX = 1 THEN
                OV_NM := OV_CD1;
            ELSE
                OV_NM := OV_CD_NM;
            END IF;

저렇게 구현했을시 Select에서 Row가 0 일때 OV_NM := 로 받으려고 하면 에러가 나네요.. 

도움 부탁드립니다..

 

by 마농 [2020.07.22 16:09:00]
-- 1안) Begin ~ End; 블럭으로 감싸서 Exception 처리하는 방안
BEGIN
    SELECT cd1, cd_nm
      INTO ov_cd1, ov_cd_nm
      FROM tbl 
     WHERE .... 
    ;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        -- 여기에 예외시 처리할 작업 기술.
END;

-- 2안) 0 row 가 발생되지 않도록 쿼리 변경하는 방안
SELECT MIN(cd1), MIN(cd_nm)
  INTO ov_cd1, ov_cd_nm
  FROM tbl 
 WHERE .... 
;

 


by 동동동 [2020.07.22 16:15:18]

답변 감사드립니다...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입