[转自] http://blog.chinaunix.net/uid-14669803-id-2921539.html
DECLARE TYPE t_list_1 IS TABLE OF VARCHAR2(1024) ; -- 非标号,需要动态初始化,动态extend TYPE t_list_2 IS TABLE OF VARCHAR2(1024) INDEX BY Binary_Integer; -- 标号数组,不需要动态申请 -- 非标号数组 v_list_11 t_list_1 := t_list_1('11A','11B'); -- 声明时赋初值 v_list_12 t_list_1 ; -- 标号数组 v_list_21 t_list_2 ; /* 标号数组声明不能赋初值 v_list_21 t_list_2 := t_list_2('A','B'); */ BEGIN dbms_output.put_line(v_list_11(1)); /* 报错,需要初始化 v_list_12(1):='1A'; */ -- 初始化 v_list_12 := t_list_1(); v_list_12.extend; v_list_12(1) :='12A'; dbms_output.put_line(v_list_12(1)); -- 标号数组不需要初始化,下标从1开始 v_list_21(1) :='21A'; dbms_output.put_line(v_list_21(1)); -- 并且可以指定下标赋值 v_list_21(100) :='2100A'; dbms_output.put_line(v_list_21(100)); dbms_output.put_line(v_list_21.count); END ; / 11A 12A 21A 2100A 2 PL/SQL procedure successfully completed