Using FORALL and BULK COLLECT Together
You can unite the BULK COLLECT clause with the FORALL statement, in that case, the SQL engine bulk-binds column values incrementally. In the illustration below, if the collection depts has 3 elements, each of which cause 5 rows to be deleted, then the collection enums has 15 elements when the statement completes:
FORALL j IN depts.FIRST..depts.LAST
DELETE FROM emp WHERE empno = depts(j)
RETURNING empno BULK COLLECT INTO enums;