Oracle VARRAY的实际应用简介

数据库 Oracle
以下的文章是对Oracle VARRAY创建变长数组语句的描述,以及Oracle VARRAY(变长数组)的实际应用的介绍,望你在浏览之后会有会所收获。

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

创建变长数组语句:

 

  1. Create Type varray_phone as varray(3) of varchar2(50); 

接下来应用这个变长数组,先创建一个人员表,人员表中拥有一列电话,类型是变长数组,意思是这个人,可能有一个电话号码,也可能有2个,最多3个。

 

  1. create table person3  
  2. (  
  3. id integer constraint person3_pk primary key,  
  4. first_name varchar(20),  
  5. last_name varchar(20),  
  6. phone varray_phone  
  7. )  

 

填充变长数组

 

  1. insert into person3 values(1,'yuan','weixiang',varray_phone('12345','34567','56789'));  
  2. SQL> select * from person3;  
  3. ID FIRST_NAME LAST_NAME PHONE  

1 yuan weixiang Oracle VARRAY_PHONE('12345', '34567', '56789')

表明该用户拥有3个电话号码。

当什么内容不添加的时候,查询结果如下:

 

  1. insert into person3 values(2,'hao','lihai',varray_phone());  
  2. SQL> select * from person3;  
  3. ID FIRST_NAME LAST_NAME PHONE  

 

1 yuan weixiang VARRAY_PHONE('12345', '34567', '56789')

2 hao lihai VARRAY_PHONE()

修改变长数组中的元素

 

  1. update person3 set phonevarray_phone('12345','34567') where id = 2;  
  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表

修改变长数组的元素的长度大小

 

  1. Alter type varray_phone  
  2. modify element type varchar2(60) cascade  

 

cascade选项把更改传播到数据库中的依赖对象 Person3就是依赖对象

修改变长数组元素的数目

 

  1. alter type varray_phone modify limit 5 cascade 

上述的相关内容就是对Oracle VARRAY的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle内存结构的相关篇SGA
  2. Oracle安装脚本的相关代码介绍
  3. Oracle体系结构中的基本概念,数据库的介绍
  4. Oracle体系结构实例的相关内容介绍
  5. Windows 7下安装Oracle 11g相关问题解决方法

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-03-31 17:40:15

Oracle SELE

2010-04-29 13:31:16

Oracle Orad

2010-03-16 09:20:25

Python时间

2010-04-02 13:34:33

Oracle DBA

2010-03-30 14:32:38

Oracle Date

2010-04-09 13:35:35

Oracle启动

2010-04-09 16:26:53

Oracle join

2010-03-29 15:33:18

Oracle EXP

2010-04-06 16:00:19

Oracle更改表

2010-04-29 09:16:16

Oracle密码过期处

2010-05-04 15:15:39

Oracle分页查询

2010-04-09 09:28:30

Oracle自增字段

2010-04-21 13:31:11

Oracle时间

2010-04-28 15:04:37

Oracle数据

2010-03-19 15:16:11

Python代码

2010-05-12 17:26:55

MySQL维护

2010-05-31 15:49:29

MySQL临时表

2010-04-21 12:35:01

Oracle导入

2010-04-29 16:15:06

Oracle flas

2010-05-06 15:44:08

Oracle Nvl函
点赞
收藏

51CTO技术栈公众号