Oracle导出嵌套表,oracle 记要,嵌套表,集合

oracle 记录,嵌套表,集合

1.exists 检查集合中是否存在某个元素,collection.exists(index)

2.count 返回集合中元素的个数 collection.count

3.limit 返回varray中最大的条目数,关联数组和嵌套表返回空

4.first 返回集合的第一个元素

5.last 返回集合的最后一个元素

6.next 返回集合中的下一个元素,如果不存在返回空 collection.next

7.prior 返回集合中的上一个元素,如果不存在返回空

8.extend 扩展集合中元素的个数,不用于关联数组,和未被初始化的集合

collection.extend,collection.extend(n),collection.extend(n,i)

9.trim 从集合的结尾处删除元素

collection.trim(),collection.trim(n)

10.delete 从集合中删除元素 collection.delete,collection.delete(n),collection.delete(m,n)[i][/i]

---使用数组将查询的记录存放到嵌套表中

declare

type deptrecord is record

(

deptno dept.deptno%type,

dname dept.dname%type,

loc dept.loc%type

);

type number_array is table of deptrecord;

number_collection number_array:=number_array();

begin

number_collection.extend(5);

dbms_output.put_line('number_collection的数量:'||number_collection.count);

select * bulk collect into number_collection from dept;

dbms_output.put_line('number_collection的数量:'||number_collection.count);

for currow in number_collection.first .. number_collection.last loop

dbms_output.put_line(number_collection(currow).deptno);

end loop;

end;

---使用数组将查询的记录存放到嵌套表中

declare

type deptrecord is record(

deptno dept.deptno%type,

dname dept.dname%type,

loc dept.loc%type);

type number_array is table of deptrecord;

number_collection number_array := number_array();

i number := 0;

curroww number;

begin

for currow in (select * from dept) loop

i := i + 1;

number_collection.extend;

number_collection(i).deptno := currow.deptno;

number_collection(i).dname := currow.dname;

number_collection(i).loc := currow.loc;

end loop;

for i in 1 .. number_collection.count loop

dbms_output.put_line('');

dbms_output.put_line('循环方式一');

dbms_output.put_line('deptno:=' || number_collection(i).deptno);

dbms_output.put_line('dname:=' || number_collection(i).dname);

dbms_output.put_line('loc:=' || number_collection(i).loc);

end loop;

for i in number_collection.first .. number_collection.last loop

dbms_output.put_line('');

dbms_output.put_line('循环方式二');

dbms_output.put_line('deptno:=' || number_collection(i).deptno);

dbms_output.put_line('dname:=' || number_collection(i).dname);

dbms_output.put_line('loc:=' || number_collection(i).loc);

end loop;

curroww := number_collection.first;

loop

exit when curroww is null;

dbms_output.put_line('');

dbms_output.put_line('循环方式三');

dbms_output.put_line('deptno:=' || number_collection(i).deptno);

dbms_output.put_line('dname:=' || number_collection(i).dname);

dbms_output.put_line('loc:=' || number_collection(i).loc);

curroww := number_collection.next(curroww);

end loop;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值