oracle简单对象类型

在plsql中,面向对象的程序设计是基于对象类型来完成的。对象类型是用户自定义的一种复合数据类型,它封装了数据结构和用于操纵这些数据结构的过程和函数,在建立复杂应用程序时,通过使用对象类型可以降低应用开发难度,进而提高应用开发的效率和速度。
对象类型包括对象类型规范(object type specification)和对象类型体(object type body)两个部分。其中对象类型规范是对象与应用的接口,它用于定义对象的公用属性和方法;而对象类型体则用于实现对象类型规范所定义的公用方法,如果对象类型规范中没有定义方法,则可以不定义对象类型体。
对象类型属性用于描述对象所具有的特征,每个对象类型至少包含一个属性,至多可以包含1000个属性。对象类型的属性不能使用long、long raw、rowid、urowid、plsql的特有类型(binary_integer,Boolean,%type,%rowtype,ref cursor,record,pls_integer)等。并且在定义对象类型属性时,既不能指定对象属性的默认值,也不能指定notnull选项。
行对象是指直接基于对象类型所建立的表,列对象是指在建表时指定了对象类型列的对象表。下面给出了操作行对象的代码,列对象操作方式类似。
示例1:行对象数据操作(包含列对象数据的操作类似)
--建立对象类型
create  or  replace   type person_obj as   object(
name   varchar2(10),

gender  number(1),

birthday  date);
--建立行对象(基于person_obj)
create  table person_table of  person_obj;
--为行对象插入数据
insert  into person_table values(person_obj('jax01',1,sysdate)); --构造方法
insert  into person_table values('jax02',1,sysdate); --普通方法
--检索行对象数据
select * from person_table where  name = 'jax01';
--更新行对象数据
update person_table set birthday =  to_date('2004-05-12','YYYY-MM-DD')
where gender = 0;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值