创建对象:
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。
测试过,问题好像是不能定义与类型里的参数个数完全一样的问题,感觉奇妙。望高手多多指点!
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。
测试过,问题好像是不能定义与类型里的参数个数完全一样的问题,感觉奇妙。望高手多多指点!
解决方案 »
- database control 无法打开!急求!!!!!!!!!!急!急!急!!!!!
- windows平台oracle 11g怎么设置启动模式?
- Oracle 语句中“||”代表什么啊?
- 数据库插入图片
- 高分请教 Oralce这行代码有何问题。
- 用户权限系统权限有啥子区别吗?
- LINUX下,只要向ORACLE9i录入数据,控制台就没有响应,这是为什么?
- 请教!ORACLE的删除语句怎么写?是DELETE * FROM TABLE吗?为什么不行?
- Oracle 9i 企业管理器不能找到节点的数据库.
- 十万火急!!!!!!!高额悬赏!!!SQL语句再ORACL中的错误!
- 散分来了,一个关于重复问题的小问题!
- 比较sql语句是否相同
ORA-06553:PLS-307:too many declarations of 'peson_typ2_by_eason' match this call你这里可以去掉第二个构造函数,或者是把date类型改成varchar。都可以了。