我有我正在尝试编译并收到错误的函数Error: ORA-00955: name is already used by an existing object。我真的不知道此错误,并尝试搜索此问题,但未找到任何解决方案。我不知道这与任何授予特权有关,但是我的架构表没有特权问题。
Error: ORA-00955: name is already used by an existing object
create or replace FUNCTION "AK_CHECK" -- PUBLIC (ID Number) RETURN Number IS TYPE_ID Number := 0; SUCCESS Number := 0; S Number := 0; BEGIN SELECT ACTIVE(ID) + MANUAL(ID) INTO S FROM DUAL; CASE S WHEN 2 THEN SELECT TYPE INTO TYPE_ID FROM SALE_SUPPLY KD WHERE KD.KPI_DEF_ID = ID; END CASE; END AK_CHECK;
您可能有另一个具有相同名称(PERFORM_CHECK)的对象。
PERFORM_CHECK
您可以通过查询找到它user_objects:
user_objects
select * from user_objects where object_name = 'PERFORM_CHECK'
然后将其删除(TYPE_OF_OBJECT由上面的查询替换为对象的类型):
TYPE_OF_OBJECT
drop TYPE_OF_OBJECT perform_check