Fehler: ORA-00955: name wird bereits von einem vorhandenen Objekt in Oracle-Funktion
Habe ich-Funktion, die ich versuche zu kompilieren und erhalte eine Fehlermeldung, als Error: ORA-00955: name is already used by an existing object
. Ich bin wirklich keine Kenntnis von diesem Fehler und versuchen Sie die Suche für diese Frage aber fand keine Lösung. Ich weiß nicht, ist dies im Zusammenhang mit der grant-Privilegien, aber i dont haben Privilegien Frage zu meinem schema Tabellen.
create or replace FUNCTION "AK_CHECK"
-- PUBLIC
(ID Number) RETURN Number
IS
TYPE_ID Number := 0;
SUCCESS Number := 0;
S Number := 0;
BEGIN
SELECT ACTIVE(ID) + MANUAL(ID) INTO S FROM DUAL;
CASE S
WHEN 2 THEN
SELECT TYPE INTO TYPE_ID
FROM SALE_SUPPLY KD
WHERE KD.KPI_DEF_ID = ID;
END CASE;
END AK_CHECK;
- Sie sind mit
create and replace
, so dass, wenn die Funktion bereits vorhanden ist, dann wird es ersetzt werden. Also, es ist etwas anderes das Problem verursacht und nicht der name der Funktion. Kompilieren inSQL*Plus
, und verwenden Sie FEHLER, es zeigt Ihnen den genauen Zeilennummer und das Objekt, das den Fehler auslöst. Bearbeiten Sie Ihre Frage und fügen Sie kopieren die vollständige Fehler-stack.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vermutlich haben Sie ein anderes Objekt mit dem gleichen Namen (
PERFORM_CHECK
).Finden Sie es, indem quering
user_objects
:Dann legen Sie es ein (ersetzen Sie
TYPE_OF_OBJECT
durch den Typ des Objekts aus der obigen Abfrage):create or replace
für die Funktion. Wenn es bereits vorhanden ist, wird die Funktion ersetzt werden. Es ist etwas anderes, was das Problem verursacht.