1
是否有任何方式將一組記錄作爲Oracle過程的參數INOUT
傳遞?將記錄收集爲INOUT參數
是否有任何方式將一組記錄作爲Oracle過程的參數INOUT
傳遞?將記錄收集爲INOUT參數
當然。聲明收集
create package pkg_coll
as
type emp_tbl is table of emp%rowtype;
end;
/
然後你可以使用集合類型作爲參數傳遞給一個過程
create or replace procedure proc_coll(p_emps in out pkg_coll.emp_tbl)
as
begin
for i in 1 .. p_emps.count
loop
dbms_output.put_line(p_emps(i).empno);
end loop;
p_emps(1).ename := 'CAVE';
end;
然後你就可以調用
SQL> declare
2 l_emps pkg_coll.emp_tbl;
3 begin
4 select *
5 bulk collect into l_emps
6 from emp;
7 proc_coll(l_emps);
8 end;
9/
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
PL/SQL procedure successfully completed.
謝謝。這是工作! – user1087287 2012-02-21 06:15:33