存储过程在使用嵌套表时需要注意:
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 :

本文介绍了在PL/SQL中使用自定义嵌套表时的两种情况,包括直接参照物理表结构创建的嵌套表以及根据自定义record创建的嵌套表。在使用自定义record时,必须先进行初始化,否则会报错。示例展示了如何在存储过程中操作嵌套表,包括扩展和填充数据。
最低0.47元/天 解锁文章
2425

被折叠的 条评论
为什么被折叠?



