存储过程在使用嵌套表时需要注意:
1.如果嵌套表是直接参照一个物理表的结构创建的,则可以直接使用,如:
create or replace procedure mytest2 is
CURSOR all_emps IS
SELECT * FROM emp;
TYPE emp_table IS TABLE OF emp%ROWTYPE;
emps emp_table;
I PLS_INTEGER;
l_count PLS_INTEGER;
BEGIN
l_count := 0;
emps := emp_table(); -- 初始化嵌套表并产生一条空记录
FOR c1 IN all_emps LOOP
l_count := l_count + 1;
emps.EXTEND;
emps(l_count).empno := c1.empno;
emps(l_count).ename := c1.ename;
emps(l_count).job := c1.job;
emps(l_count).mgr := c1.mgr;
emps(l_count).hiredate := c1.hiredate;
emps(l_count).sal := c1.sal;
emps(l_count).comm := c1.comm;
emps(l_count).deptno := c1.deptno;
END LOOP;
--