DECLARE
-- 定义类型.
TYPE test_type IS TABLE OF test_main%ROWTYPE;
test_data test_type;
-- 定义游标.
CURSOR c_test_main IS
SELECT id, value FROM test_main;
BEGIN
-- 打开游标.
OPEN c_test_main;
-- 开始循环
LOOP
-- 填充数据 批量填充,每次读取2条.
FETCH c_test_main
BULK COLLECT INTO test_data LIMIT 2; -- 调试输出.
FOR i IN 1..test_data.count
LOOP
dbms_output.put_line(test_data(i).value);
END LOOP; -- 当没有数据的时候,退出。
EXIT WHEN c_test_main%NOTFOUND; END LOOP;
-- 关闭游标.
CLOSE c_test_main;
END;