Wat is Oracle SQL Code 955?

Schrijver: Morris Wright
Datum Van Creatie: 21 April 2021
Updatedatum: 24 December 2024
Anonim
JOINS in Oracle | Oracle SQL Tutorial Videos | Mr.Vijay Kumar
Video: JOINS in Oracle | Oracle SQL Tutorial Videos | Mr.Vijay Kumar

Inhoud

Oracle PL / SQL-fout 955, beter bekend als ORA-00955, treedt op wanneer een gebruiker een object in de database maakt met een naam die wordt gebruikt door een reeds bestaand object, zoals een tabel, weergave, index, synoniem of groep. Als u het object een andere naam geeft, wordt de fout opgelost.


ORA-00955 is een uitzonderingsfout die optreedt met een naam die al aan een ander object is toegewezen (Justin Sullivan / Getty Images / Getty Images)

Foutmelding

Een gebruiker maakt een object op de Oracle PL / SQL-opdrachtregel met een bepaalde naam en ontvangt het bericht "De naam ORA-00955 wordt al gebruikt door een bestaand object".

oorzaken

Het foutbericht kan optreden wanneer een gebruiker een update installeert, een script uitvoert in Oracle PL / SQL dat tabellen of indexen wist of maakt of een woord gebruikt dat is gereserveerd voor een door het systeem gedefinieerd object. Over het algemeen probeert de gebruiker een object te maken met de naam die al is toegewezen aan een ander object in de database.

oplossing

Gebruikers wordt geadviseerd om een ​​andere naam of een ander object te selecteren, of een bestaand object te wijzigen en de naam ervan te wijzigen om het gebruik van de gewenste naam toe te staan. Zie DBA_OBJECTS of USER_OBJECTS om te bevestigen of een andere gebruiker de naam in gebruik heeft.


Controleer ook bijnamen en openbare synoniemen voor de bestaande naam, met behulp van de volgende verklaring:

SELECT * FROM ALL_OBJECTS WHERE ObjectName = "NAME";

De tabel ALL_OBJECTS bevat de lijst met alle door de gebruiker toegankelijke objecten die beschikbaar zijn voor de specifieke aanmeldings-ID. Hergebruik alle ongewenste objecten met dezelfde naam om een ​​naam opnieuw te gebruiken.

De fout negeren met behulp van afhandeling van uitzonderingen

Gebruikers kunnen ORA-00955 omzeilen door een uitzonderingshandler te maken die de fout voor het maken van objecten negeert. Maak een PL / SQL-code die de fout zal verwerken en wijs "NULL" toe aan zijn status:

DECLARE MyNamedTableExists EXCEPTION; pragma exception_init (MyNamedTableExists, -955); sql_stmt varchar2 (50): = 'create table tempstore (col1 number)'; BEGIN / voer onmiddellijk sql_stmt; / CREATE TABLE MyNamedTableExists AS SELECT * FROM MySupposedTable; /+ Negeer ORA-955-fouten als de tabelnaam al bestaat) / UITZONDERING wanneer MyNamedTableExists dan NULL; END;