Cách đơn giản nhất để lặp lại các hàng trong bảng trong PL / SQL là làm một cái gì đó như
BEGIN
FOR employees IN (SELECT emp_id FROM emp)
LOOP
dbms_output.put_line( employees.emp_id );
END LOOP;
END;
Ngoài ra, bạn có thể tìm nạp tất cả các giá trị EID vào một bộ sưu tập PL / SQL và lặp lại bộ sưu tập, như trong ví dụ này
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;
Tuy nhiên, nếu truy vấn của bạn có thể trả về hàng nghìn hàng, việc tìm nạp tất cả dữ liệu vào bộ sưu tập có thể sử dụng nhiều bộ nhớ PGA hơn bạn muốn và bạn có thể cần tìm nạp các hàng theo khối bằng mệnh đề LIMIT. Nhưng điều đó dường như đang vượt lên chính chúng ta vào thời điểm này.