DB/ORACLE

ORA-01403

적외선 2013. 8. 14. 14:18

프로시져 작성시 SELECT INTO 에서 조회된 쿼리의 ROW가 존재하지 않을때 ORA-01403 에러발생 대치


1. 에러를 잡는 방법 : 서브블럭을 이용한 Exception 처리 
BEGIN 

BEGIN 
SELECT id INTO vMemid FROM a.t_members WHERE perid = :new.perid; 
EXCEPTION 
WHEN NO_DATA_FOUND THEN 
Null; 
END; 

END; 


2, 에러를 피하는 방법 : 그룹함수를 이용한 무조건 1행 반환) 
BEGIN 
SELECT MAX(id) INTO vMemid FROM a.t_members WHERE perid = :new.perid; 
END;