oracle object 类型,oracle对象类型的member方法

*:用于访问对象实例的数据。如果在对象类型中需要访问特定对象实例的数据,则需要定义member方法,member方法可以使用内置参数self访问当前实例对象,当定义member方法时,无论是否定义self参数,它都会被作为第一个参数传递给member方法,但如果定义参数self,那么其类型必须要使用当前对象类型。Member方法只能有对象实例调用,而不能被对象类型调用。

示例3:带member方法的对象操作

--建立包含member方法的对象规范

createorreplacetype person_obj1 asobject(

idvarchar2(10),

namevarchar2(20),

phone varchar2(20),

address varchar2(40),

memberprocedure change_address(aaddress varchar2),

memberfunction get_info returnvarchar2

);

--建立包含member方法的对象实现

createorreplacetypebody person_obj1 is

memberprocedure change_address(aaddress varchar2)

is

begin

address := aaddress;

end;

memberfunction get_info returnvarchar2

is

begin

return'id:'||id||','||'name:'||name||','||'phone:'||phone||','||'address:'||address;

end;

end;

--建立包含对象类型的表

createtable person_table1(

employeeid varchar2(10),

departid varchar2(10),

person person_obj1

);

--测试表对象及其member函数的使用

declare

myperson person_obj1;

begin

myperson := zhanglei.person_obj1('1001','jax','13548752412','test1');

myperson.change_address('深圳广东佛山东莞北京中关村。');

dbms_output.put_line(myperson.get_info);

end;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值