建立和使用包含static方法的对象类型

---定义对象说明
create or  replace  type person_obj2 as  object(
name  varchar2(20),
gender varchar2(2),
birthday date,
regdate date,
static  function getdate return  date,
member  function getinfo return  varchar2
);

--定义对象函数实现
create  or  replace  type  body person_obj2 is
 static  function getdate return  date   is
 begin
    return   sysdate;
 end;
 member  function getinfo return   varchar2  is
 begin
    return  '姓名:' || name || ',注册日期:' || regdate;
 end;
end;
--定义使用对象person_obj2的表
create  table employee_tab2(
eno number(16),
person person_obj2,
sal number(6,2),
job varchar2(10)
);
--向包含对象类型的表中插入数据
insert  into employee_tab2
select  1234,person_obj2('jax','男',to_date('20081212','YYYYMMDD'),sysdate),1234,'赋闲' from dual;
--static类型函数与member类型函数的使用
declare
 v_person person_obj2;
begin
 select person into v_person from employee_tab2;
 dbms_output.put_line(person_obj2.getdate);
 dbms_output.put_line(v_person.getinfo());
end;
 
 

你可能感兴趣的:(职场,休闲)