plsql使用自定义的嵌套表

本文介绍了在PL/SQL中使用自定义嵌套表时的两种情况,包括直接参照物理表结构创建的嵌套表以及根据自定义record创建的嵌套表。在使用自定义record时,必须先进行初始化,否则会报错。示例展示了如何在存储过程中操作嵌套表,包括扩展和填充数据。
摘要由CSDN通过智能技术生成

存储过程在使用嵌套表时需要注意:

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;

  --

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值