1、自定义数组
• 一维数组
type arr_type is table of NUMBER(20);
声明数组
声明数组变量 arr_val
arr_val arr_type;
• 二维数组
create or replace package myPackage is
-- public type declarations type info is record( x varchar(20),
y number );
type TestArray is table of info index by binary_integer;
---此处声明了一个TestArray的类型数据,其实其为一张存储Info
数据类型
Table而已,及TestArray 就是一张表,有两个字段,一个是x,一
个是y。
需要注意的是此处使用了Index by binary_integer 编制该Table的
索引项,也可以不写,
直接写成:type TestArray is table of info,
如果不写的话使用数组时就需要进行初始化:
varArray myPackage.TestArray;
varArray := new myPackage.TestArray();
end TestArray;
2、数组赋值
(bulk collect into关键字是将查询结果封装成集合)
select a bulk collect into arr_val from mytable;
3、数组取值
for i in 1 .. arr_val.count loop
--处理逻辑
arr_val(i);
end loop;