declare
v_emprecs Emp_Util.emprec_tab_t := Emp_Util.Get_Many_Rows;
begin
forall j in v_emprecs.first..v_emprecs.last
insert into employees_2 values v_emprecs(j);
end;
/
rollback ;
declare
bulk_errors exception;
pragma exception_init ( bulk_errors, -24381 );
v_emprecs Emp_Util.emprec_tab_t := Emp_Util.Get_Many_Rows;
begin
v_emprecs(1).employee_id :=
v_emprecs(2).employee_id;
forall j in v_emprecs.first..v_emprecs.last save exceptions
insert into employees_2 values v_emprecs(j);
exception when bulk_errors then
for j in 1..sql%bulk_exceptions.count
loop
Dbms_Output.Put_Line ( 'Error from element #' ||
To_Char(sql%bulk_exceptions(j).error_index) || ': ' ||
Sqlerrm(-sql%bulk_exceptions(j).error_code) );
end loop;
end;
/
rollback ;