可变数组的含义
编辑: 面试啦 发布时间: 2023-09-19 23:49:48
可变数组与嵌套表相似,也是一种集合。一个可变数组是对象的一个集合,其中每个对象都具有相同的数据类型。可变数组的大小由创建时决定。在表中建立可变数组后,可变数组在主表中作为一个列对待。从概念上讲,可变数组是一个限制了行集合的嵌套表。
例:
步骤1:创建类型comm_info
CREATE TYPE comm_info AS OBJECT ( /*此类型为通讯方式的集合*/
no number(3), /*通讯类型号*/
comm_type varchar2(20), /*通讯类型*/
comm_no varchar2(30)); /*号码*/
步骤2:创建可变数组comm_info_list
CREATE TYPE comm_info_list AS VARRAY(50) OF comm_info;
步骤3:创建表
create table user_info
(user_id number(6), /*用户ID号*/
user_name varchar2(20), /*用户名称*/
user_comm comm_info_list); /*与用户联系的通讯方式*/
步骤4:向可变数组插入记录
insert into user_info
values(1,’mary’,comm_info_list(comm_info(1,’手机’,’13651401919′),
comm_info(2,‘呼机’,‘1281234567’)));
insert into user_info
values(2,’carl’,comm_info_list(comm_info(1,’手机’,’13901018888′),
comm_info(2,’呼机’,’1281234567′)));
步骤5:查询可变数组
select user_comm from user_info
where user_id=1;
select comm_type,comm_no
from table(select user_comm from user_info
where user_id=1)
where no=1;
例:
步骤1:创建类型comm_info
CREATE TYPE comm_info AS OBJECT ( /*此类型为通讯方式的集合*/
no number(3), /*通讯类型号*/
comm_type varchar2(20), /*通讯类型*/
comm_no varchar2(30)); /*号码*/
步骤2:创建可变数组comm_info_list
CREATE TYPE comm_info_list AS VARRAY(50) OF comm_info;
步骤3:创建表
create table user_info
(user_id number(6), /*用户ID号*/
user_name varchar2(20), /*用户名称*/
user_comm comm_info_list); /*与用户联系的通讯方式*/
步骤4:向可变数组插入记录
insert into user_info
values(1,’mary’,comm_info_list(comm_info(1,’手机’,’13651401919′),
comm_info(2,‘呼机’,‘1281234567’)));
insert into user_info
values(2,’carl’,comm_info_list(comm_info(1,’手机’,’13901018888′),
comm_info(2,’呼机’,’1281234567′)));
步骤5:查询可变数组
select user_comm from user_info
where user_id=1;
select comm_type,comm_no
from table(select user_comm from user_info
where user_id=1)
where no=1;
词条:oracle面试题
面试题库导航
- C++面试题
- JAVA面试题
- Oracle面试题
- MySQL面试题
- Linux面试题
- 网络工程师面试题
- 网管面试题
- 软件工程师面试题
- PHP面试题
- .net面试题
- 软件测试面试题
- EJB面试题
- Spring面试题
- Javascript面试题
- Python面试题
- QTP面试题
- Servlet面试题
- J2EE面试题
- Database面试题
- ASP面试题
- Unix面试题
- Loadrunner面试题
- 通信面试题
- 嵌入式面试题
- Ruby面试题
- Delphi面试题
- Mobile开发面试题
- SOA面试题
- JAVA面试题面试题
- 研发工程师面试题
- 软件架构师面试题
- 系统工程师面试题
- Android面试题
- JAVA程序员
- C#面试题