OraclePL/SQL复合数据类型

页面导航:首页 > 数据库 > oracle > OraclePL/SQL复合数据类型

OraclePL/SQL复合数据类型

来源: 作者: 时间:2016-02-16 09:27 【

复合数据类型大致可以分为两类。一类是记录类型,适用于处理单行多列数据,有点类 20284;于java中的VO;一类是集合类型,适用于处理单列多行的数据,类 20284;java中的List,以下实验在

复合数据类型大致可以分为两类。一类是记录类型,适用于处理单行多列数据,有点类似于java中的VO;一类是集合类型,适用于处理单列多行的数据,类似java中的List,以下实验在11.2.0.1.0版本下做的。

1.记录类型

drop table test purge;

create table test
(
id number(2),
name varchar2(60)
);
insert into test values(1,'aaa');
insert into test values(2,'bbb');
insert into test values(3,'ccc');
insert into test values(4,'ddd');
insert into test values(5,'eee');

commit;

--显式定义记录类型
declare
type t_record is record
(
id test.id%type,
name test.name%type
);
var_record t_record;
coun number := 0;
begin
for c_row in (select id,name from test) loop
coun := coun + 1;
dbms_output.put_line('第'||coun||'循环');
var_record.id := c_row.id;
var_record.name := c_row.name;
dbms_output.put_line('记录:'||var_record.id||'---'||var_record.name);
dbms_output.put_line('游标:'||c_row.id||'---'||c_row.name);
end loop;
exception when others then
dbms_output.put_line(sqlcode||sqlerrm);
end;
/

输出结果:
第1循环
记录:1---aaa
游标:1---aaa
第2循环
记录:2---bbb
游标:2---bbb
第3循环
记录:3---ccc
游标:3---ccc
第4循环
记录:4---ddd
游标:4---ddd
第5循环
记录:5---eee
游标:5---eee