> IT面试 >

介绍一下嵌套表

嵌套表是表中之表。一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。
例:假设有一个关于动物饲养员的表,希望其中具有他们饲养的动物的信息。用一个嵌套表,就可以在同一个表中存储饲养员和其饲养的全部动物的信息。
步骤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’;

(责任编辑:IT)