create type t_sor is varray(10) of number; / create procedure pro(p_sor in out t_sor) as begin for i in 1..10 loop p_sor.extend; p_sor(i):=i; end loop; end; / declare v_sor t_sor:=t_sor(); begin pro(v_sor); for i in 1..10 loop dbms_output.put_line(v_sor(i0); end loop; end; /
Of course it can be. As following: 首先你需要定义一个数组类型,然后定义这个数组变量 declare type a_type is table of number; -- type a_type is array(10) of number; -- 下面一种定义方式则指定了该数组的最大元素个数 a a_type := a_type(); -- 定义并初始化一个数组变量 begin a.extend(3); -- 数组扩展到3个元素 a(1) := 1; a(2) := 10; a(3) := 100; end; 另外数组还有一下方法和属性 first -- 第一个元素下标 last -- 最后一个元素下标 count -- 数组元素个数 prior(n) -- 下标 n 的前一个元素下标 next(n) -- 下标 n 后一个元素下标 extend(n) -- 添加 n 个数组元素,不带参数添加一个数组元素 delete(n) -- 删除数组中下标为 n 的元素,不带参数删除整个数组元素
/
create procedure pro(p_sor in out t_sor)
as
begin
for i in 1..10 loop
p_sor.extend;
p_sor(i):=i;
end loop;
end;
/
declare
v_sor t_sor:=t_sor();
begin
pro(v_sor);
for i in 1..10 loop
dbms_output.put_line(v_sor(i0);
end loop;
end;
/
As following:
首先你需要定义一个数组类型,然后定义这个数组变量
declare
type a_type is table of number;
-- type a_type is array(10) of number;
-- 下面一种定义方式则指定了该数组的最大元素个数 a a_type := a_type(); -- 定义并初始化一个数组变量
begin
a.extend(3); -- 数组扩展到3个元素
a(1) := 1;
a(2) := 10;
a(3) := 100;
end; 另外数组还有一下方法和属性
first -- 第一个元素下标
last -- 最后一个元素下标
count -- 数组元素个数
prior(n) -- 下标 n 的前一个元素下标
next(n) -- 下标 n 后一个元素下标
extend(n) -- 添加 n 个数组元素,不带参数添加一个数组元素
delete(n) -- 删除数组中下标为 n 的元素,不带参数删除整个数组元素