Collections Oracle PLSQL Tutorial

There is a way of using a FOR loop with the associative arrays INDEX BY BINARY_INTEGER

SQL>
SQL> declare
  2      type dept_rty is record(id number, extra_tx VARCHAR2(2000));
  3      type dept_aa is table of dept_rty index by binary_integer;
  4      v_dept_aa dept_aa;
  5  begin
  6    v_dept_aa(10).id :=10;
  7    v_dept_aa(20).id :=20;
  8
  9    for i in v_dept_aa.first..v_dept_aa.last loop
 10      if v_dept_aa.exists(i) then
 11          DBMS_OUTPUT.put_line(v_dept_aa(i).id);
 12      end if;
 13    end loop;
 14  end;
 15  /
10
20
PL/SQL procedure successfully completed.
SQL>