创建对象:
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。
请教高手!!!
解决方案 »
- [SOS] oracle解析xml,碰到问题了
- 00942 table or view does not exist
- ORALCE数据库如何用BAT命令来倍份数据库
- 关于两个多对多的联合查询问题,请教达人~ (修正帖子以及贴出解决方案)
- 存储过程里如何知道update后是否成功更新了数据,更新了多少条?
- 搜索结果如何按指定的顺序显示
- 如何使用原数据库"oradata"目录恢复数据!!!!!
- 菜鸟极问题 数据库中方案是什么意思 干吗用的 他与例程 SID都是什么关系
- 请教一个sql问题,不同用户下的表的连接?
- 请教,同样的SQL,在proc程序和PL/SQL内查询的结果不一样。
- 导入导出数据时出现这个问题,请高手指导
- oracle不用索引?
ORA-06553:PLS-307:too many declarations of 'peson_typ2_by_eason' match this call你这里可以去掉第二个构造函数,或者是把date类型改成varchar。都可以了。