title: Error: PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL
body: <p>I am getting the below error message. Can you please help me to sort out this problem.</p>
  
  <p>"Error: PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL"</p>
  
  <p>This is my coding.</p>
  
  <pre><code>  create or replace procedure inst4 is
    var1 varchar2(20);
    type nest is table of coll%rowtype;
    emp1 nest;
    cursor emp2 is select * from coll;
    ex_dml_errors exception;
    l_error_count  NUMBER;
    PRAGMA EXCEPTION_INIT(ex_dml_errors, -24381);
    begin 
    select * BULK COLLECT into emp1 from coll;
    FORALL  i in emp1.FIRST..EMP1.LAST SAVE EXCEPTIONS
    insert into coll values ('Shan',50000);
    insert into coll values('Yan',70000);
    insert into coll values('than',null);
    insert into coll values('unibi',9000);
    exception 
    WHEN ex_dml_errors THEN
    l_error_count := SQL%BULK_EXCEPTIONS.count;
    DBMS_OUTPUT.put_line('Number of failures: ' || l_error_count);
     FOR i IN 1 .. l_error_count LOOP
       DBMS_OUTPUT.put_line('Error: ' || i || 
        ' Array Index: ' || SQL%BULK_EXCEPTIONS(i).error_index ||
        ' Message: ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
     END LOOP;
    END;
  </code></pre>