我有这个代码,当我尝试编译它时,它给了我一个错误,说"名称已被现有对象使用"。但我没有这个名字的另一个对象。
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;
/
答案 0 :(得分:3)
您的过程与您的类型具有相同的名称,因此当您尝试创建它时,您会得到“名称已被现有对象错误使用”。
尝试为您的程序使用其他名称,例如specii_inr_proc
答案 1 :(得分:2)
afiseaza_animal
过程属于该类型,您需要在类型的主体(使用CREATE TYPE BODY
)和不中将其定义为独立过程(使用{ {1}})。
CREATE PROCEDURE