表集合的extend属性

Extend 扩展元素的个数,且在使用下标时,只能到1到这个整个个数的范围:

CREATE or replace type list_of_name is table of varchar2(1000);

declare

happyfamily list_of_name:=list_of_name();--必须在使用的时候初始化,此处初始化为一个空元素,此处若不初始化,必须在体部初始化

children list_of_name:=list_of_name();

parents list_of_name:=list_of_name();

l_row BINARY_INTEGER;

begin

happyfamily.extend(5);--extend(4)是在最后一个元素后面增加4个元素

happyfamily(2):='a';

happyfamily(3):='b';

happyfamily(4):='c';

happyfamily(5):='d';

l_row:=happyfamily.first;

WHILE(l_row IS NOT NULL) LOOP

dbms_output.put_line('the name is :'||happyfamily(l_row));

l_row:=happyfamily.next(l_row);

END LOOP;

end;

结果:

the name is :

the name is :a

the name is :b

the name is :c

the name is :d

很显然,下标1没有,如果我们改一下:

CREATE or replace type list_of_name is table of varchar2(1000);

declare

happyfamily list_of_name:=list_of_name();--必须在使用的时候初始化,此处初始化为一个空元素,此处若不初始化,必须在体部初始化

children list_of_name:=list_of_name();

parents list_of_name:=list_of_name();

l_row BINARY_INTEGER;

begin

happyfamily.extend(5);--extend(4)是在最后一个元素后面增加4个元素

happyfamily(2):='a';

happyfamily(3):='b';

happyfamily(4):='c';

happyfamily(6):='d';

l_row:=happyfamily.first;

WHILE(l_row IS NOT NULL) LOOP

dbms_output.put_line('the name is :'||happyfamily(l_row));

l_row:=happyfamily.next(l_row);

END LOOP;

end;

结果:

   

很显然:extend所使用的下标值不能超过extend指定的值。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值