创建对象: 
create or replace type person_typ2_by_eason as object 

id        number, 
first_name varchar2(10), 
last_name  varchar2(10), 
dob        date, 
phone      varchar2(12), 
          
constructor function person_typ2_by_eason 

  p_id        number, 
  p_first_name varchar2, 
  p_last_name  varchar2 
) return self as result, 
constructor function person_typ2_by_eason 

  p_id        number, 
  p_first_name varchar2, 
  p_last_name  varchar2, 
  p_dob        date, 
  p_phone      varchar2 
)return self as result 
); create or replace type body person_typ2_by_eason 
as 
constructor function person_typ2_by_eason 

  p_id        number, 
  p_first_name varchar2, 
  p_last_name  varchar2 
) return self as result 
as 
begin 
  self.id := p_id; 
  self.first_name := p_first_name; 
  self.last_name  := p_last_name; 
  self.dob := sysdate; 
  self.phone := '800-123-8888'; 
  return; 
end person_typ2_by_eason; 
        
constructor function person_typ2_by_eason 

  p_id        number, 
  p_first_name varchar2, 
  p_last_name  varchar2, 
  p_dob        date, 
  p_phone      varchar2 
) return self as result 
as 
begin 
  self.id := p_id; 
  self.first_name := p_first_name; 
  self.last_name  := p_last_name; 
  self.dob := p_dob; 
  self.phone := p_phone; 
  return; 
end person_typ2_by_eason; 
end; 创建对象表: 
create table object_customers2_by_eason of person_typ2_by_eason; 插入对象: 
insert into object_customers2_by_eason values ( 
person_typ2_by_eason(1,'xu','eason') );操作成功。 
但是: 
insert into object_customers2_by_eason values ( 
person_typ2_by_eason(1,'xu','eason','30-3月-1935','800-820-8200') ); 
报错,错误信息:ORA-06553:PLS-307:too many declarations of 'peson_typ2_by_eason' match this call。 
测试过,问题好像是不能定义与类型里的参数个数完全一样的问题,感觉奇妙。望高手多多指点!