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

 
*static方法:用于访问对象类型,因此不能访问self参数,只能由对象类型(obj_type)调用,而不能由实例(obj_instance)调用。在需要在对象类型上执行全局操作时使用。
示例4:带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 ;
 

你可能感兴趣的:(Date,function,object,table,insert)