Функция PL / SQL существует? - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь создать функцию с именем add_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 FUNCTION 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.)

Он существует или не существует?Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 14 ноября 2011
CREATE OR REPLACE FUNCTION add_extra(p_price IN NUMBER)

__IN__ в вашем запросе отсутствует ключевое слово.

0 голосов
/ 22 марта 2011

Я был почти уверен, что это был FUNCTION, но это был PROCEDURE!Итак, DROP PROCEDURE ADD_EXTRA; сработало.

...