面试啦 - 提供专业面试问题及答案、面试技巧、助您成功面试!
您的当前位置:首页 > 面试题库 > IT面试题 > Oracle面试题 > 正文

介绍一下嵌套表

嵌套表是表中之表。一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。
例:假设有一个关于动物饲养员的表,希望其中具有他们饲养的动物的信息。用一个嵌套表,就可以在同一个表中存储饲养员和其饲养的全部动物的信息。
步骤1:创建类型animal_ty:此类型中,对于每个动物都包含有一个记录,记载了其品种、名称和出生日期信息。
CREATE TYPE animal_ty AS OBJECT (
breed varchar2(25),
name varchar2(25),
birthdate date);
步骤2:创建animals_nt:此类型将用作一个嵌套表的基础类型。
CREATE TYPE animals_nt as table of animal_ty;
步骤3:创建表breeder:饲养员的信息表
create table breeder
(breedername varchar2(25),
animals animals_nt)
nested table animals store as animals_nt_tab;
步骤4:向嵌套表中插入记录
insert into breeder
values(‘mary’,animals_nt(animal_ty(‘dog’,'butch’,’970304′),animal_ty(‘dog’,'rover’,’970405′),animal_ty(‘dog’,'julio’,’970506′)));
insert into breeder
values(‘jane’,animals_nt(animal_ty(‘cat’,'an’,’970304′),
animal_ty(‘cat’,'jame’,’970405′),
animal_ty(‘cat’,'killer’,’970808′)));
步骤5:查询嵌套表
select name,birthdate from
table(select animals from breeder);
select name,birthdate from
table(select animals from breeder where breedername=’mary’)
where name=’dog’;
词条:oracle面试题
上一篇:在ORACLE大数据量下的分页解决方法。一般用截取ID 方法,还有是三层 嵌套方法 下一篇:Oracle DBA面试题及参考答案
与该文相关的文章

温馨提示:如果您对面试网有任何建议,请通过网站联系邮箱向我们反馈,感谢各位的建议与支持!