안녕하세요
혹시 오라클 커서를 재활용하는 방법은 없는 것인가요?
커서를 여러게 선언하고
본문에서 하나하나 열어야 하나요.
커서의 타입?은 다 똑같은데..
뭐 좋은 방법 없을까요???
아래는 예제..
프로시저 어쩌구 시작~!
CURSOR CURSOR_INSERT IS
SELECT 어쩌구 FROM 저쩌구;
CUR_INSERT CURSOR_INSERT%ROWTYPE;
CURSOR CURSOR_INSERT2 IS
SELECT 어쩌구 FROM 으쌰으쌰;
CUR_INSERT2 CURSOR_INSERT2%ROWTYPE;
CURSOR CURSOR_INSERT3 IS
SELECT 어쩌구 FROM 어잌후.
CUR_INSERT3 CURSOR_INSERT3%ROWTYPE;
..
생략..
..
... --요렇케 커서를 조낸 만들고
BEGIN
--하나하나 다 열어서 모두 동일한 테이블인 결과테이블에 넣음..
OPEN CURSOR_INSERT;
LOOP
FETCH CURSOR_INSERT INTO CUR_INSERT;
EXIT WHEN CURSOR_INSERT%NOTFOUND;
BEGIN
INSERT INTO 결과테이블 VALUES(저쩌구 꺄아꺄악)
commit;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
CLOSE CURSOR_INSERT;
OPEN CURSOR_INSERT2;
LOOP
FETCH CURSOR_INSERT2 INTO CUR_INSERT2;
EXIT WHEN CURSOR_INSERT2%NOTFOUND;
BEGIN
INSERT INTO 결과테이블 VALUES(저쩌구 으앙 커서)
commit;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
CLOSE CURSOR_INSERT2;
OPEN CURSOR_INSERT3;
LOOP
FETCH CURSOR_INSERT3 INTO CUR_INSERT3;
EXIT WHEN CURSOR_INSERT3%NOTFOUND;
BEGIN
INSERT INTO 결과테이블 VALUES(저쩌구 올레)
commit;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
CLOSE CURSOR_INSERT3;
...
...
생략..
...
END;