Cara paling sederhana untuk mengulangi baris dalam tabel di PL/SQL adalah dengan melakukan sesuatu seperti
BEGIN
FOR employees IN (SELECT emp_id FROM emp)
LOOP
dbms_output.put_line( employees.emp_id );
END LOOP;
END;
Sebagai alternatif, Anda dapat mengambil semua nilai EID ke dalam koleksi PL/SQL dan mengulangi koleksi tersebut, seperti dalam contoh ini
DECLARE
TYPE emp_id_tbl IS TABLE OF emp.emp_id%type;
l_emp_ids emp_id_tbl ;
BEGIN
SELECT emp_id
BULK COLLECT INTO l_emp_ids
FROM emp;
FOR i IN l_emp_ids .FIRST .. l_empnos.LAST
LOOP
dbms_output.put_line( l_emp_ids (i) );
END LOOP;
END;
Namun, jika kueri Anda dapat mengembalikan ribuan baris, mengambil semua data ke dalam koleksi dapat menggunakan lebih banyak memori PGA daripada yang Anda inginkan dan Anda mungkin perlu mengambil baris dalam potongan menggunakan klausa LIMIT. Tapi itu tampaknya akan terlalu cepat pada saat ini.