对象创建在oracle中生成错误

时间:2016-04-13 07:58:13

标签: oracle plsql oracle11g

我有这个代码,当我尝试编译它时,它给了我一个错误,说"名称已被现有对象使用"。但我没有这个名字的另一个对象。

drop type specii_inr;
    CREATE OR REPLACE TYPE specii_inr UNDER gestiune_zoo
    (specii_inrudite VARCHAR2(20),
     OVERRIDING member procedure afiseaza_animal)
    /
    CREATE OR REPLACE PROCEDURE specii_inr AS
     OVERRIDING MEMBER PROCEDURE afiseaza_animal IS
     BEGIN
       dbms_output.put_line('Animale inrudite: '||specii_inrudite);
     END afiseaza_animal;
    END;
    /

2 个答案:

答案 0 :(得分:3)

您的过程与您的类型具有相同的名称,因此当您尝试创建它时,您会得到“名称已被现有对象错误使用”。

尝试为您的程序使用其他名称,例如specii_inr_proc

答案 1 :(得分:2)

afiseaza_animal过程属于该类型,您需要在类型的主体(使用CREATE TYPE BODY)和中将其定义为独立过程(使用{ {1}})。

CREATE PROCEDURE