Was ist Oracle SQL Code 955?

Autor: Charles Brown
Erstelldatum: 7 Februar 2021
Aktualisierungsdatum: 16 Juni 2024
Anonim
JOINS in Oracle | Oracle SQL Tutorial Videos | Mr.Vijay Kumar
Video: JOINS in Oracle | Oracle SQL Tutorial Videos | Mr.Vijay Kumar

Inhalt

Der Oracle PL / SQL-Fehler 955, besser bekannt als ORA-00955, tritt auf, wenn ein Benutzer ein Objekt in der Datenbank mit einem Namen erstellt, der von einem bereits vorhandenen Objekt verwendet wird, z. B. einer Tabelle, einer Ansicht, einem Index, einem Synonym oder einer Gruppe. Wenn Sie dem Objekt einen anderen Namen geben, wird der Fehler behoben.


ORA-00955 ist ein Ausnahmefehler, bei dem ein Name bereits einem anderen Objekt zugewiesen ist (Justin Sullivan / Getty Images / Getty Images)

Fehlermeldung

Ein Benutzer erstellt ein Objekt in der Oracle PL / SQL-Befehlszeile mit einem bestimmten Namen und erhält die Meldung "ORA-00955-Name wird bereits von einem vorhandenen Objekt verwendet".

Ursachen

Die Fehlermeldung kann auftreten, wenn ein Benutzer ein Update installiert, ein Skript in Oracle PL / SQL ausführt, das Tabellen oder Indizes löscht oder erstellt oder ein Wort verwendet, das für ein systemdefiniertes Objekt reserviert ist. Im Allgemeinen versucht der Benutzer, ein Objekt zu erstellen, dessen Name bereits einem anderen Objekt in der Datenbank zugewiesen ist.

Lösung

Benutzern wird empfohlen, einen anderen Namen oder ein anderes Objekt auszuwählen oder ein vorhandenes Objekt zu ändern und umzubenennen, um die Verwendung des gewünschten Namens zu ermöglichen. Siehe DBA_OBJECTS oder USER_OBJECTS, um zu überprüfen, ob ein anderer Benutzer den Namen verwendet.


Überprüfen Sie auch die Kurznamen und öffentlichen Synonyme für den vorhandenen Namen. Verwenden Sie dazu die folgende Anweisung:

SELECT * FROM ALL_OBJECTS WHERE ObjectName = "NAME";

Die ALL_OBJECTS-Tabelle enthält die Liste aller für den Benutzer verfügbaren Objekte, die für die bestimmte Anmelde-ID verfügbar sind. Um einen Namen wiederzuverwenden, löschen Sie alle unerwünschten Objekte mit demselben Namen.

Fehler mit Ausnahmebehandlung ignorieren

Benutzer können den ORA-00955 umgehen, indem sie einen Ausnahmehandler erstellen, der den Objekterstellungsfehler ignoriert. Erstellen Sie einen PL / SQL-Code, der den Fehler behandelt, und weisen Sie dem Status "NULL" zu:

DECLARE MyNamedTableExists EXCEPTION; Pragma exception_init (MyNamedTableExists, -955); sql_stmt varchar2 (50): = 'Table Tempstore (Col1-Nummer) erstellen'; BEGINN sofortiges sql_stmt ausführen; / CREATE TABLE MyNamedTableExists AS SELECT * FROM MySupposedTable; /+ Ignoriere ORA-955-Fehler, wenn der Tabellenname bereits existiert.) / EXCEPTION wenn MyNamedTableExists dann NULL ist; ENDE;