Oracle 开发篇+集合(关联数组)的使用案例
发布日期:2021-06-29 12:02:41 浏览次数:2 分类:技术文章

本文共 1019 字,大约阅读时间需要 3 分钟。

说明:本文为面向PL/SQL集合初学者的指导手册

标签:PL/SQL、集合、列式存储、PL/SQL优化、Collection
注意:案例使用的是关联数组的集合类型,其他类型略
用途:本文以SCOTT为例展示了集合的使用
优点:使用集合方便返回多行数据,而且集合可以将临时数据放在内存实现优化
缺点:比较占用内存
易学:文中删去了不需要的多余部分,让初学者一目了然一学就会
温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化


★ 常见问题

※ 故障提示:ORA-20000:ORU-10027:buffer overflow,limit of 10000 bytes
※ 解决方法:set serveroutput on size 100000000

※ 故障提示:PL/SQL: ORA-00913: too many values

※ 解决方法:select … into …如果返回多行数据时需要放入集合变量,而非常规变量或游标


set serveroutput ondeclare  v_3 pls_integer;  v_1 varchar2(50);  --Cursor  cursor cur_1 is    select * from scott.emp;  re_cur_1 cur_1%ROWTYPE;  --Collection  type t_1 is table of varchar2(1000) index by pls_integer;  v_2 t_1;begin  --遍历源表  for re_cur_1 in cur_1 loop    v_1 := re_cur_1.deptno;    --SQL将返回多行数据,需要使用集合变量    select ename bulk collect into v_2 from scott.emp where deptno = v_1;    --输出集合变量    v_3 := v_2.first;    while (v_3 is not null) loop      dbms_output.put_line(v_2(v_3));      v_3 := v_2.next(v_3);    end loop;  end loop;end;/

 


※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

over

转载地址:https://blog.csdn.net/zzt_2009/article/details/115291910 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Oracle 实验篇+分区表实验数据
下一篇:Oracle 开发篇+管道函数性能测试

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月26日 19时37分45秒