最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle中对象表,ref及deref对象表的使用

来源:动视网 责编:小采 时间:2020-11-09 11:45:25
文档

Oracle中对象表,ref及deref对象表的使用

Oracle中对象表,ref及deref对象表的使用:ORACLE在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的 Oracle在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种
推荐度:
导读Oracle中对象表,ref及deref对象表的使用:ORACLE在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的 Oracle在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种


ORACLE在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的

Oracle在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的成员函数、存储过程等等。

对象表是指该表的一行就是一个对象,有一个OID(object ID),对象表之间没有主外键关联的概念,为了体现这层关系,,oracle中用了ref对象来实现。

下面例子,创建一个地址类型,一个人员类型,人员有地址属性,所以在人员类型中设置一个ref address来确定指向他所在地址的指针。

--创建地址类型

create type address as object(
street varchar2(35),
city varchar2(15),
state char(2),
zip_code integer
);

create table addresses of address; --创建地址对象表

--创建人员类型
create type person as object(
first_name varchar2(15),
last_name varchar2(15),
birthday date,
home_address ref address, --指向对应的地址,该地址应该在另外一个对象表中的一行
phone_number varchar2(15)
);

CREATE TABLE persons of person; --创建人员对象表

--插入一个地址

insert into addresses values(address('nanhai','shenzhen','gd','518054'));

insert into addresses values(address('shennan','shenzhen','gd','518057'));

--插入一个人员,注意这里的home_address部分是如何插入一个ref address的。
insert into persons values(person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),
(select ref(a) from addresses a where street='nanhai'),
'1355555555'));

--也可以用下面的过程来插入一个人员记录

declare
addref ref address ;
begin
select ref(a) into addref from addresses a where street='nanhai';
insert into persons
values (person('shitou','haha',to_date('1982-07-05','yyyy-mm-dd'),
addref,'1355555555'));
commit;
end;

--查询某人的地址信息
select first_name,deref(home_address) from persons;

--修改地址
update persons set home_address=(select ref(a) from addresses a where street='shennan');

--删除某个人员

delete from persons where first_name='shitou';

--删除某个地址的相关人员记录
delete from persons where home_address=(select ref(a) from addresses a where street='nanhai');

文档

Oracle中对象表,ref及deref对象表的使用

Oracle中对象表,ref及deref对象表的使用:ORACLE在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种各样的 Oracle在关系数据库外,融入了面向对象的元素,比如可以创建type,type之间可以继承,type可以带构造函数、排序函数、各种
推荐度:
标签: 使用 对象 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top