पीएल/एसक्यूएल में तालिका में पंक्तियों पर पुनरावृति करने का सबसे आसान तरीका कुछ ऐसा करना है
BEGIN
FOR employees IN (SELECT emp_id FROM emp)
LOOP
dbms_output.put_line( employees.emp_id );
END LOOP;
END;
वैकल्पिक रूप से, आप सभी EID मानों को PL/SQL संग्रह में ला सकते हैं और संग्रह पर पुनरावृति कर सकते हैं, जैसा कि इस उदाहरण में है
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;
यदि आपकी क्वेरी हजारों पंक्तियों को वापस कर सकती है, हालांकि, संग्रह में सभी डेटा लाने से आप जितना चाहें उतना अधिक पीजीए मेमोरी का उपयोग कर सकते हैं और आपको LIMIT क्लॉज का उपयोग करके पंक्तियों को टुकड़ों में लाने की आवश्यकता हो सकती है। लेकिन ऐसा लगता है कि इस बिंदु पर खुद से आगे निकल रहा है।