Seperti yang disebutkan dalam komentar saya, Anda dapat menggunakan BULK
kumpulkan dan LIMIT
pilihan untuk mencapai kebutuhan Anda. Lihat di bawah demo. Di sini, setiap kali loop akan berjalan dan pilih 200
catatan.
DECLARE
CURSOR rec
IS
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL < 401;
TYPE v_var IS TABLE OF NUMBER
INDEX BY PLS_INTEGER;
var v_var;
BEGIN
OPEN rec;
LOOP
FETCH rec BULK COLLECT INTO var LIMIT 200;
EXIT WHEN (var.count = 0);
FOR i IN 1 .. var.COUNT
LOOP
DBMS_OUTPUT.put_line (var (i));
END LOOP;
END LOOP;
CLOSE rec;
END;