作为一个菜鸟对oracle数据有有些小问题请教大家,在oracle的存储过程中怎样建立一个含有3,4,5,7的数组,并且循环遍历这个数组,看了很多资料还是很迷惑,希望大家能帮帮忙!!!!

解决方案 »

  1.   

    DECLARE
      TYPE tb_type IS TABLE OF INTEGER;
      tb tb_type;
    BEGIN
      tb:=tb_type(3,4,5,6);
      FOR i IN 1..tb.COUNT LOOP
        dbms_output.put_line(tb(i));
      END LOOP;
    END;建议楼主参考下PL/SQL 集合的相关内容,集合类型包括索引表(PL/SQL 表)、嵌套表(Nested Table)和变长数组(VARRAY)等三种类型
      

  2.   

    建立存储过程:CREATE OR REPLACE PROCEDURE ProcedureArray
    AS
      --定义数组类型
      TYPE tb_type IS TABLE OF INTEGER;
      --定义数组
      tb tb_type;
    BEGIN
      tb:=tb_type(3,4,5,6);
      FOR i IN 1..tb.COUNT LOOP
        DBMS_OUTPUT.PUT_LINE(tb(i));
      END LOOP;
    END;
    执行:begin
      -- Call the procedure
      procedurearray;
    end;
    结果:3
    4
    5
    6