创建对象类型
create or replace type emp_type as object( name varchar2(200));
创建对象类型的表类型
create or replace type emp_tab_type is table of emp_type;
创建嵌套关系的表
create table include_dept
( name varchar2(100), emps emp_tab_type)
nested table emps store as emps_ct
创建一个include_dept表和emps_ct表
嵌套表不支持引用约束
delete include_dept;
begin
for i in 1..10 loop
insert into include_dept(name,emps )values(i, emp_tab_type( emp_type(i)));//插入数据
end loop;
end;
select name from table(select emps from include_dept where name=1);//查询数据
创建对象类型
create or replace type address_type is object
(place varchar2(200),no varchar2(20));
使用对象类型创建表
create table person
(
name varchar2(200),
address address_type
)
插入数据
begin
for i in 1..100 loop
insert into person(name,address) values('name'||i,address_type('place'||i,'no'||i));
end loop;
commit;
end;
select t.name,t.address.place,t.address.no from person t