PL/SQL中的集合--可变数组

set serveroutput on
----------------------------------
--*可变数组(集合类型),初始化*--
----------------------------------
declare
type months
is varray(12) of varchar(2);
--my_month months:=months('','','','','','','','','','','','');--提供足够的东西
--my_month months:=months('1','2','3','4','5','6','7','8','9','10','11','12');
--my_month months:=months('1','2','3','4','5','6','7','8','9','10','11',12);
my_month months:=months(0,0,0,0,0,0,0,0,0,0,0,0);--不严格的初始化
--my_month months:=months('1');
--my_month months;
type weeks
is varray(7) of varchar(10);
--my_week weeks:=weeks('T','M','W','1','2','3','4');
my_week weeks:=weeks('T','M','W','1','2');
begin
for i in 1..12 loop
my_month(i):=i;
end loop;
dbms_output.put_line(my_month(1)||' '||my_month(11)||' '||my_month(12));--下标从【1】开始到【12】
dbms_output.put_line(my_month(1));
dbms_output.put_line('共有:'||my_month.count);
dbms_output.put_line(my_month.first);
dbms_output.put_line('第二个元素:'||my_month.next(my_month.first));
dbms_output.put_line('倒数第二个元素:'||my_month.prior(my_month.last));
dbms_output.put_line('最后一个元素为:'||my_month.last);
my_month.trim();
dbms_output.put_line('最后一个元素为:'||my_month.last);
dbms_output.put_line('共有:'||my_month.count);
--my_month.delete(11,12);--可变数组没有这个方法
---------------------------------------
dbms_output.put_line('第一个元素为:'||my_week(1));
dbms_output.put_line('第三个元素为:'||my_week(3));
dbms_output.put_line('总共有:'||my_week.count);
dbms_output.put_line('最后一个元素为:'||my_week.last);
if my_week.exists(3) then--判断my_week中的第三个元素是否存在
  dbms_output.put_line('第三个元素为:'||my_week(3));
end if; 
dbms_output.put_line('my_week.limit=:'||my_week.limit);--最大返回的元素个数
--my_week.extend();--将一个NULL加到可变数组的末端
my_week.extend(1);--将一个NULL加到可变数组的末端
--my_week.extend(1,'ss');--将一个值为TH的元素加到可变数组的末端??
end;
/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值