Oracle的collection二维操作
Oracle collection 是PL SQL开发中会用到一个对象,它表示一组有序的元素组成,一个组中元素的类型必须保持一致。它分成3 类,分别为Associative arrays(也称index-by tables)、Nested tables 、Varrays。
www.2cto.com
第一个Associative arrays,可看成数据字典,有key,value两列。key值可以是任意数字和字符串,value值可以是任意对象、甚至是collection类型的对象。
第二个Nested tables,可看着一维数组,使用数字编号可以依次操作每个数组元素。
第三个Varrays,可看着预先定义好长度的一维数组,使用数字编号可以依次操作每个数组元素。
这三类的定义和初始化的方法如下:
type typ_dict is table of varchar2(100) index by varchar2(10);
type typ_array is table of integer;
type typ_varray is varray(3) of varchar2(10);
v_dict typ_dict;
v_array typ_array := typ_array();
v_varray typ_varray := typ_varray(null, null, null);
这些类除掉普通的数据类型外,还有遇到object类型。这点和面向对象编程的语言有些相似,但功能没那么强大。
www.2cto.com
例如定义一个有多个VARCHAR2组成的对象。
CREAT