oracle 时间集合,Oracle集合的基本用法

--关联数组

declare

type list_of_ctrys is table of t_mt_ctry.cd%type

index by pls_integer;

ctrys list_of_ctrys;

l_row pls_integer;

begin

ctrys(10) := 'CN';

ctrys(1000) := 'US';

ctrys(-10) := 'JP';

ctrys(50) := 'MY';

l_row := ctrys.first;

dbms_output.put_line('l_row ' || l_row);

while l_row is not null

loop

dbms_output.put_line(ctrys(l_row));

l_row := ctrys.next(l_row);

end loop;

end;

--嵌套表

create or replace type list_of_names is table of varchar2(100);

declare

family_names list_of_names := list_of_names();

parent_names list_of_names := list_of_names();

children_names list_of_names := list_of_names();

begin

family_names.extend(4);

family_names(1) := 'zhangsan';

family_names(2) := 'zhanglisi';

family_names(3) := 'zhangwangwu';

family_names(4) := 'wangwu';

parent_names.extend;

parent_names(1) := 'zhangsan';

parent_names.extend;

parent_names(2) := 'wangwu';

children_names := family_names multiset except parent_names;

for i in children_names.first .. children_names.last

loop

dbms_output.put_line(children_names(i));

end loop;

end;

--zhanglisi

--zhangwangwu

--Varray

create or replace type parent_names is varray(2) of varchar2(20);

create or replace type children_names is varray(1) of varchar2(20);

create table family(

family_no integer,

parents parent_names,

children children_names

);

declare

parents parent_names := parent_names();

children children_names := children_names();

begin

parents.extend(2);

parents(1) := 'zhangsan';

parents(2) := 'lisi';

children.extend;

children(1) := 'zhangyi';

insert into family(family_no,parents,children) values(1,parents,children);

end;

select * from family;

Varray的查询结果:

e52a588fb2ff671734cdd9c475e14aea.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值