嵌套表和对象表

创建对象类型

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

阅读更多
文章标签: 数据 oracle
个人分类: oracle
上一篇聚簇表
下一篇临时表
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭