DB2 를 오라클로 리뉴얼하고 있습니다. DB2 프로시져 중에 DECLARE NOT_FOUND CONDITION FOR '02000' ; 이런게 있는데요 ㅡㅡ; 어떤 의미인가요? 답변 부탁드릴게요 ^^
db2 "? 02000"
SQLSTATE 02000: 다음 예외 중 하나가 발생했습니다. SELECT INTO문 또는 INSERT문의 부속선택의 결과가 빈 테이블이었습니다. 탐색한 UPDATE 또는 DELETE문에서 식별된 행 수가 0이었습니다. FETCH문에서 참조된 커서의 위치가 결과 테이블의 마지막 행 다음입니다. CREATE PROCEDURE ITERATOR() LANGUAGE SQL BEGIN DECLARE v_deptno CHAR(3); DECLARE v_deptname VARCHAR(29); DECLARE at_end INTEGER DEFAULT 0; DECLARE not_found CONDITION FOR SQLSTATE '02000'; DECLARE c1 CURSOR FOR SELECT deptno, deptname FROM department ORDER BY deptno; DECLARE CONTINUE HANDLER FOR not_found SET at_end = 1; OPEN c1; ins_loop: LOOP FETCH c1 INTO v_deptno, v_deptname; IF at_end = 1 THEN LEAVE ins_loop; ELSEIF v_dept = 'D11' THEN ITERATE ins_loop; END IF; INSERT INTO department (deptno, deptname) VALUES ('NEW', v_deptname); END LOOP; CLOSE c1; END 위와 같은 용도로 사용할 수 있습니다.