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;
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;
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;
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维以上的见的多吗,其实也很多,只是用表的形式来表现了啦,不知我的这个意思你可否明白?
如果 t_Nested 是表,那么他和定义的表(create table)有什么不同?
TYPE t_Varray IS VARRAY(10) OF NUMBER 是几维的;
定义二维是不是:TYPE t_Varray IS VARRAY(10)(2) 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;