Oracle数组,集合

来源:互联网 发布:白俄罗斯知乎 编辑:程序博客网 时间:2024/05/19 02:28
create or replace procedure test_pro(        userId in nvarchar2,     --参数1 in为传入参数,out为传出参数.      is  --类型名.数组最大长度.每个元素类型.    TYPE T_ARRAY IS VARRAY(6) OF VARCHAR2(10); --数组类型v_array T_ARRAY := T_ARRAY();--初始化数组begin    v_array.extend(2); --给数组分配2个元素 也可以v_array.extend; 追加一个元素. 大小加1v_array(1) := 'AAA';v_array(2) := 'BBB';FOR i IN 1..v_array.COUNT LOOP--v_array.COUNT(数组长度.也就是所分配空间大小.)dbms.output.put_line(v_array(i));END LOOP;   end;   --动态分配空间. FOR i IN 1..5 LOOPv_array.extend;v_array(i) := i;END LOOP;--集合的使用.--定义.TYPE ename_table_type IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER;ename_table ename_table_type;--返回值加入集合RETURNING id BULK COLLECT INTO id_table;