建一个存储过程
定义一个一维数组 Test{A,B,C,D,E,F,G,H,J,K,L}
怎么样用循环遍历数组,然后输出新手求解

解决方案 »

  1.   

    create or replace procedure P_var is
    type test_type is  varray(15)  of varchar2(2);
    test test_type:=test_type('A','B','C','D','E','F','G','H','J','K','L');
    begin
      for  i in 1..test.count loop
        dbms_output.put_line(test(i));
        end loop;
    end P_var;
    SQL> exec p_var;
     
    A
    B
    C
    D
    E
    F
    G
    H
    J
    K
    L
      

  2.   

    那如果建function 的话,该怎么写呢?
      

  3.   

    CREATE OR REPLACE FUNCTION test
    RETURN VARCHAR2
    IS
       TYPE   varary   IS   VARRAY(300)   OF   VARCHAR2(12);
       ary   varary   ;BEGIN
    ary := varary('A','B','C','D','E','F','G','H','J','K','L');
    for  i in 1..ary.count loop
        dbms_output.put_line(ary(i));
        end loop;
    RETURN 'OK';
    END;