La funzione PL/SQL esiste?
Domanda
Sto cercando di creare una funzione chiamata add_extra
.
CREATE OR REPLACE FUNCTION add_extra(p_price NUMBER)
RETURN NUMBER
IS
BEGIN
RETURN(9000);
END add_extra;
Tuttavia, quando eseguo la sceneggiatura, dice:
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:
E quando provo: DROP FUNCTION add_extra;
Mi dice:
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.)
Esiste o non esiste? Che cosa sto facendo di sbagliato?
Soluzione 2
Ero quasi certo che fosse un FUNCTION
, ma era un PROCEDURE
! Così, DROP PROCEDURE ADD_EXTRA;
lavorato.
Altri suggerimenti
CREATE OR REPLACE FUNCTION add_extra(p_price IN NUMBER)
__IN__
La parola chiave manca nella tua query.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow