0
사실 저는 1000 개의 레코드를 업데이트하려고하는데 5000 개의 레코드마다 커밋을하고 있습니다. 하지만 난 위의 오류가 내가 VARRAY에 한계로 인해 얻을. 100k 키 값을 배열로 저장하는 경우에도 배열 데이터 유형에 대한 대안을 제공해주십시오! 아래 코드 샘플.ORA-06532 : 한계 밖의 첨자
DECLARE
v_initial number(6):=0;
v_final number(6):=5000;
-- TOtal number of records V_COUNT
type lnum IS VARRAY(1000) OF INTEGER; -- change total number of records
iid lnum;
v_maxnum number(8):=0;
BEGIN
iid:=lnum(); -- here 1000 values will be given
v_maxnum := iid.count;
FOR i in v_initial..v_maxnum LOOP
UPDATE table SET status='E' WHERE pkey=iid(i);
IF i=v_final THEN
COMMIT;
v_initial:=v_final+1;
v_final:=v_final+5000;
END IF;
IF i=v_maxnum THEN
commit;
END IF;
EXIT WHEN i= v_maxnum;
END LOOP;
END;
/