*/ 19 FETCH cv BULK COLLECT INTO aa_objects; 20 21 /* 22 * Not passing the ref cursor to a client 23 * in this example so close it... Until 9i, we could only BULK COLLECT columns of scalar types or single instances of object types (i.e. In keeping with 9i's extended support for record-based operations, we can now BULK COLLECT a collection of records stored in a table into either an associative array or collection variable.

This means that from 9.2.0.1 onwards, we can declare a single associative array (new name for index-by tables in 9i) or collection type based on one of the following.

DECLARE 2 3 /* 4 * Declare an associative array type of 5 * USER_TABLES structure...

In December 2001, I wrote a paper entitled Introduction to Bulk PL/SQL Processing in 8i.

This demonstrated the (then new) bulk PL/SQL processing enhancements introduced in Oracle 8i.

PUT_LINE ( 37 'Successful UPDATE of ' || 38 TO_CHAR(SQL%ROWCOUNT) || ' records.' ); 39 40 DBMS_OUTPUT. ERROR_INDEX || 50 ' due to ' || 51 SQLERRM ( 52 -1 * SQL%BULK_EXCEPTIONS(i). PUT_LINE ( 55 'Customer = ' || 56 TO_CHAR ( 57 aa_ids ( 58 SQL%BULK_EXCEPTIONS(i).

PUT_LINE ( 41 'Failed on '