Help me understand why the second block is throwing an error, but the first block is working. Both places are limited than the declared size (41).
Declare Type typ_int_array IS VARRAY(41) OF NUMBER; v_typ_int_array typ_int_array := typ_int_array(10,20,30,40); BEGIN SYS.DBMS_OUTPUT.PUT_LINE(v_typ_int_array(1)); v_typ_int_array.extend(6); v_typ_int_array(6) := 60; END;
Declare Type typ_int_array IS VARRAY(41) OF NUMBER; v_typ_int_array typ_int_array := typ_int_array(10,20,30,40); BEGIN SYS.DBMS_OUTPUT.PUT_LINE(v_typ_int_array(1)); v_typ_int_array.extend(38); v_typ_int_array(38) := 60; END;
An exception:
**Error :** Error report - ORA-06532: Subscript outside of limit ORA-06512: at line 6 06532. 00000 - "Subscript outside of limit" *Cause: A subscript was greater than the limit of a varray or non-positive for a varray or nested table. *Action: Check the program logic and increase the varray limit if necessary. 10
source share