今天在在数据库应用中使用了oacle数组,现总结如下:
1。如果使用固定长度的数组,而且不需要在外部定义可以如下定义:
create or replace function test() return varchar2 is
Result varchar2(100);
type ar is varray(15) of varchar2(12);
rt ar:=ar('dd','ff','ss');
i integer:=1;
begin
for i in 1..ar.count loop
rt(i):=i;
dbms_output.put_line('count='||rt(i));
end loop;
return(Result);
end cc;
ar是定义的数组类型
rt是ar的类型的变量,此处注意就是ar必须初始化。如果不初始化后边是不能使用的
2。如果我们要使用的数组长度不能预计,我们可以按如下方法作:
create or replace function test() return varchar2 is
Result varchar2(100);
TYPE numtab IS TABLE OF varchar2(50) INDEX BY BINARY_INTEGER;
arr numtab;
i integer:=1;
begin
for i in 1..15 loop
arr(i):=i;
dbms_output.put_line('arr['||i||']='||arr(i));
end loop;
dbms_output.put_line('count='||arr.count);
return(Result);
end cc;