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;将告诉您正在处理给定对象的内容。