可以的,参考
http://expert.csdn.net/Expert/TopicView1.asp?id=1368711

解决方案 »

  1.   

    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;
    /
      

  2.   

    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 的元素,不带参数删除整个数组元素