DECLARE
   TYPE t_Nested IS TABLE OF NUMBER;
   TYPE t_Varray IS VARRAY(10) OF NUMBER;
   v_Nested t_Nested;
   v_Varray t_Varray;
BEGIN
   v_Nested := t_Nested(1, 2, 3, 4, 5);
   v_Varray := t_Varray(1, 2);
END;

解决方案 »

  1.   

    DECLARE
       TYPE t_Nested IS TABLE OF NUMBER; -- 声明表型变量
       TYPE t_Varray IS VARRAY(10) OF NUMBER; -- 声明数组变量
       v_Nested t_Nested;
       v_Varray t_Varray;
    BEGIN
       v_Nested := t_Nested(1, 2, 3, 4, 5); --初始化,有5个元素
       v_Varray := t_Varray(1, 2); --初始化,有2个元素
    END;
      

  2.   

    我的意思是“TYPE t_Nested IS TABLE OF NUMBER”与“TYPE t_Varray IS VARRAY(10) OF NUMBER”的区别是什么?
      

  3.   

    TYPE t_Nested IS TABLE OF NUMBER; -- 声明表类型变量
    TYPE t_Varray IS VARRAY(10) OF NUMBER; -- 声明数组类型变量
    实例化:
    v_Nested := t_Nested(1, 2, 3, 4, 5); --初始化,有5个元素
    v_Varray := t_Varray(1, 2); --初始化,有2个元素
    就是表和数组的区别啦
    数组我们一般用的2维,3维;3维以上的见的多吗,其实也很多,只是用表的形式来表现了啦,不知我的这个意思你可否明白?
      

  4.   

    TYPE t_Nested IS TABLE OF NUMBER   是几维的;
    如果  t_Nested 是表,那么他和定义的表(create table)有什么不同?
    TYPE t_Varray IS VARRAY(10) OF NUMBER  是几维的;
    定义二维是不是:TYPE t_Varray IS VARRAY(10)(2) OF NUMBER?
      

  5.   

    TYPE t_Nested IS TABLE OF NUMBER   ;
    TYPE t_Varray IS VARRAY(10) OF NUMBER;都是一维的,但上下标是不同的。
    TYPE t_Nested IS TABLE OF NUMBER ; 1 TO 没限定
    TYPE t_Varray IS VARRAY(10) OF NUMBER 1 to 10;