SET ECHO ON SET SERVEROUTPUT ON SET ARRAYSIZE 1 -- -- plsql11.txt -- -- Simple PL/SQL demo of a nested table DECLARE TYPE NestedTableType IS TABLE OF VARCHAR2(64); dNestedTable NestedTableType; TYPE VarrayType IS VARRAY (100) OF VARCHAR2(64); dVarray VarrayType; BEGIN dNestedTable := NestedTableType (NULL,'ALL_TABLES',NULL,NULL,'DBA_TABLES',NULL,'USER_TABLES'); dVarray := VarrayType (NULL,'ALL_TABLES',NULL,NULL,'DBA_TABLES',NULL,'USER_TABLES'); -- Useful navigation techniques dbms_output.put_line( 'dNestedTable' ); dbms_output.put_line( dNestedTable(1) ); -- This returns nothing, not even an error dbms_output.put_line( dNestedTable.FIRST ); dbms_output.put_line( dNestedTable.LAST ); dbms_output.put_line( 'dVarray' ); dbms_output.put_line( dVarray(1) ); -- This returns nothing, not even an error dbms_output.put_line( dVarray.FIRST ); dbms_output.put_line( dVarray.LAST ); dbms_output.put_line( 'dNestedTable' ); FOR i IN dNestedTable.FIRST.. dNestedTable.LAST LOOP dbms_output.put_line( dNestedTable(i) ); END LOOP; dbms_output.put_line( 'dVarray' ); FOR i IN dVarray.FIRST.. dVarray.LAST LOOP dbms_output.put_line( dVarray(i) ); END LOOP; END; / -- End of demo