Pergunta

I am trying to create a function called add_extra.

CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER)
RETURN NUMBER
IS
BEGIN
  RETURN(9000);
END add_extra;

However, when I run the script, it says:

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:

And when I try: DROP FUNCTION add_extra; It tells me:

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.)

Does it exist or does it not exist? What am I doing wrong?

Foi útil?

Solução 2

I was almost certain it was a FUNCTION, but it was a PROCEDURE! So, DROP PROCEDURE ADD_EXTRA; worked.

Outras dicas

CREATE OR REPLACE FUNCTION add_extra(p_price IN NUMBER)

__IN__ keyword is missing in your query.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top