Function PL/SQL函数是否存在?

Function PL/SQL函数是否存在?,function,plsql,ora-00955,Function,Plsql,Ora 00955,我正在尝试创建一个名为add\u extra的函数 CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER) RETURN NUMBER IS BEGIN RETURN(9000); END add_extra; 但是,当我运行脚本时,它会说: Error starting at line 1 in command: CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER) RETURN NUM

我正在尝试创建一个名为
add\u extra
的函数

CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER)
RETURN NUMBER
IS
BEGIN
  RETURN(9000);
END add_extra;
但是,当我运行脚本时,它会说:

Error starting at line 1 in command:
CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER)
RETURN NUMBER
IS
BEGIN
  RETURN(9000);
END add_extra;
Error report:
ORA-00955: name is already used by an existing object
00955. 00000 -  "name is already used by an existing object"
*Cause:    
*Action:
当我尝试时:
DROP函数add_extra它告诉我:

Error starting at line 1 in command:
DROP FUNCTION add_extra
Error report:
SQL Error: ORA-04043: object ADD_EXTRA does not exist
04043. 00000 -  "object %s does not exist"
*Cause:    An object name was specified that was not recognized by the system.
               There are several possible causes:
           - An invalid name for a table, view, sequence, procedure, function,
           package, or package body was entered. Since the system could not
           recognize the invalid name, it responded with the message that the
           named object does not exist.
           - An attempt was made to rename an index or a cluster, or some
           other object that cannot be renamed.
*Action:   Check the spelling of the named object and rerun the code. (Valid
           names of tables, views, functions, etc. can be listed by querying
           the data dictionary.)

它存在还是不存在?我做错了什么?

我几乎可以肯定这是一个
函数
,但这是一个
过程
! 所以,
DROP程序添加了额外的内容工作

CREATE OR REPLACE FUNCTION add_extra(p_price IN NUMBER)

查询中缺少关键字中的

可能是函数存在,但您无权查看它吗?您是在尝试在您登录的架构中创建函数,还是使用“alter session set current_schema…”来处理不同的架构?您是否尝试显式指定架构(创建或替换函数MYUSER.ADD_EXTRA…)?我不确定,但我想它是在我登录的架构中,因为所有其他函数、过程等都显示在对象列表中。另外,当我使用username.add_extra时,我也会遇到同样的错误。此查询可能有助于识别对象所在的架构(
OWNER
):
SELECT*FROM ALL_OBJECTS,其中object_NAME='add_extra'
感谢您的提示!它以所有者身份显示
DEGYVI09
,但是当我尝试运行时:
删除函数DEGYVI09.ADD_EXTRA
,它告诉我它不存在。请描述ADD_EXTRA;将告诉您正在处理给定对象的内容。