各位大哥,小弟今天做创建了一个对象类型(包含属性和一个方法),代码如下:
create type t_product as object (
name varchar2(20),
price number,
days_valid integer,
member function get_sell_days return date);执行该代码后,系统提示成功创建,于是小弟对其中的方法创建一个包实现,代码如下:
create type body t_product as 
member function get_sell_days return date is
v_days date;
begin
select days_valid + sysdate into v_days from dual;
return v_days;
end;
end;当小弟执行这段代码后,系统提示错误,错误信息为:
ORA-00955:名称已由现在对象使用请问各位大哥:是因为两段代码使用了相同的名称而导致的错误吗?但资料上是这样编写的?如果你修改错误的话,小弟应该怎样更改?

解决方案 »

  1.   

    以上代码没有任何错误,名字不一样?名字不一样你实现的是谁?type和type body , package 和package body名字都是一样的你唯的错误可能是执行 type A的时候可能会自动带出来一个type body A,或者你忘记写body了
    你用create or replace type body试试