Oracle VARRAY(变长数组)通俗的讲就是一个存储有序的元素集合,而其每个元素都有一个相关索引,该索引相对应元素在数组中的位置。变长数组存在大小的限制,但是可以动态进行更改。

创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十余年时间我们累计服务了上千家以及全国政企客户,如展览展示等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致表扬。
创建变长数组语句:
- Create Type varray_phone as varray(3) of varchar2(50);
 
接下来应用这个变长数组,先创建一个人员表,人员表中拥有一列电话,类型是变长数组,意思是这个人,可能有一个电话号码,也可能有2个,最多3个。
- create table person3
 - (
 - id integer constraint person3_pk primary key,
 - first_name varchar(20),
 - last_name varchar(20),
 - phone varray_phone
 - )
 
填充变长数组
- insert into person3 values(1,'yuan','weixiang',varray_phone('12345','34567','56789'));
 - SQL> select * from person3;
 - ID FIRST_NAME LAST_NAME PHONE
 
1 yuan weixiang Oracle VARRAY_PHONE('12345', '34567', '56789')
表明该用户拥有3个电话号码。
当什么内容不添加的时候,查询结果如下:
- insert into person3 values(2,'hao','lihai',varray_phone());
 - SQL> select * from person3;
 - ID FIRST_NAME LAST_NAME PHONE
 
1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')
2 hao lihai VARRAY_PHONE()
修改变长数组中的元素
- update person3 set phone= varray_phone('12345','34567') where id = 2;
 - ID FIRST_NAME LAST_NAME PHONE
 
1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')
2 hao lihaiOracle VARRAY_PHONE('12345', '34567')
数据字典
user_varrays表
all_varrays表
修改变长数组的元素的长度大小
- Alter type varray_phone
 - modify element type varchar2(60) cascade
 
cascade选项把更改传播到数据库中的依赖对象 Person3就是依赖对象
修改变长数组元素的数目
- alter type varray_phone modify limit 5 cascade
 
上述的相关内容就是对Oracle VARRAY的描述,希望会给你带来一些帮助在此方面。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号