Mi az Oracle SQL 955 kód?

Szerző: Roger Morrison
A Teremtés Dátuma: 17 Szeptember 2021
Frissítés Dátuma: 11 Lehet 2024
Anonim
Mi az Oracle SQL 955 kód? - Cikkek
Mi az Oracle SQL 955 kód? - Cikkek

Tartalom

Az Oracle PL / SQL 955-ös hiba, amely jobban ismert, mint ORA-00955, akkor fordul elő, ha a felhasználó egy objektumot hoz létre az adatbázisban egy már létező objektum által használt névvel, mint például egy táblázat, nézet, index, szinonim vagy csoport. Az objektumnak egy másik nevet adva megoldja a hibát.


Az ORA-00955 kivétel hiba, amely egy másik objektumhoz már hozzárendelt névvel jelentkezik (Justin Sullivan / Getty Images / Getty Images)

Hibaüzenet

A felhasználó egy bizonyos nevű objektumot hoz létre az Oracle PL / SQL parancssori sorban, és megkapja az "ORA-00955 név már létező objektum által használt" üzenetet.

okai

A hibaüzenet akkor fordulhat elő, amikor egy felhasználó frissítést telepít, futtat egy parancsfájlt az Oracle PL / SQL programban, amely törli vagy létrehozza a táblázatokat vagy indexeket, vagy a rendszer által meghatározott objektumhoz fenntartott szót használ. Általában a felhasználó megpróbál létrehozni egy objektumot az adatbázisban egy másik objektumhoz már hozzárendelt névvel.


megoldás

A felhasználóknak javasoljuk, hogy válasszanak más nevet vagy objektumot, vagy módosítsanak és nevezzenek át egy meglévő objektumot a kívánt név használatához. Lásd: DBA_OBJECTS vagy USER_OBJECTS, hogy ellenőrizze, hogy más felhasználó rendelkezik-e a használt névvel.

Ellenőrizze a meglévő név beceneveit és nyilvános szinonimáit az alábbi állítással:

SELECT * FROM ALL_OBJECTS WHERE ObjectName = "NAME";

Az ALL_OBJECTS tábla tartalmazza az adott bejelentkezési azonosítóhoz elérhető összes felhasználó által elérhető objektum listáját. Egy név újbóli használatához törölje az összes nem kívánt objektumot ugyanazzal a névvel.

Figyelmen kívül hagyva a hibát kivételkezeléssel

A felhasználók megkerülhetik az ORA-00955-öt egy kivételkezelő létrehozásával, amely figyelmen kívül hagyja az objektum létrehozási hibát. Hozzon létre egy PL / SQL-kódot, amely kezelni fogja a hibát, és hozzárendeli a "NULL" -et az állapotához:


DECLARE MyNamedTableExists EXCEPTION; pragma outstanding_init (MyNamedTableExists, -955); sql_stmt varchar2 (50): = 'táblázat tempstore létrehozása (col1 szám)'; BEGIN / azonnali sql_stmt végrehajtása; / CREATE TABLE MyNamedTableExists AS SELECT * FROM MySupposedTable; /+ Az ORA-955 hibáinak figyelmen kívül hagyása, ha a táblázat neve már létezik. / EXCEPTION, amikor a MyNamedTableExists akkor NULL; END;