说明:本文为面向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 on
declare
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;

本文是面向PL/SQL初学者的集合使用教程,通过SCOTT实例展示了如何利用集合处理多行数据,强调了集合在内存优化方面的优势,同时提醒了可能遇到的如buffer overflow和too many values的问题及其解决方案。文中简化了内容,便于快速学习掌握。
最低0.47元/天 解锁文章
1万+

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



