错误:ORA-00955:Oracle函数中的现有对象已使用name

And*_*rew 1 sql oracle privileges function grant

我有功能,我正在尝试编译并收到错误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;
Run Code Online (Sandbox Code Playgroud)

Pat*_*man 11

您可能有另一个具有相同名称的对象(PERFORM_CHECK).

您可以通过查询找到它user_objects:

select *
from   user_objects
where  object_name = 'PERFORM_CHECK'
Run Code Online (Sandbox Code Playgroud)

然后删除它(替换TYPE_OF_OBJECT为上面查询中的对象类型):

 drop TYPE_OF_OBJECT perform_check
Run Code Online (Sandbox Code Playgroud)