Какво е Oracle SQL код 955?

Автор: Morris Wright
Дата На Създаване: 26 Април 2021
Дата На Актуализиране: 21 Юни 2024
Anonim
Какво е Oracle SQL код 955? - Статии
Какво е Oracle SQL код 955? - Статии

Съдържание

Грешка Oracle PL / SQL 955, по-известна като ORA-00955, се появява, когато потребител създава обект в базата данни с име, което се използва от вече съществуващ обект, като таблица, изглед, индекс, синоним или група. Даването на обекта на друго име решава грешката.


ORA-00955 е грешка в изключението, която се появява с вече зададено име на друг обект (Джъстин Съливан / Getty Images / Getty Images)

Съобщение за грешка

Потребител създава обект в командния ред на Oracle PL / SQL с определено име и получава съобщението "Името на ORA-00955 вече се използва от съществуващ обект".

каузи

Съобщението за грешка може да се появи, когато потребителят инсталира актуализация, изпълнява скрипт в Oracle PL / SQL, който изтрива или създава таблици или индекси, или използва дума, запазена за определен от системата обект. Като цяло, потребителят ще се опита да създаде обект, чието име вече е присвоено на друг обект в базата данни.

разтвор

На потребителите се препоръчва да изберат друго име или обект или да променят и преименуват съществуващ обект, за да разрешат използването на желаното име. Вижте DBA_OBJECTS или USER_OBJECTS, за да потвърдите дали някой друг потребител има използваното име.


Също така проверете псевдонимите и обществените синоними за съществуващото име, като използвате следното изявление:

SELECT * ОТ ALL_OBJECTS WHERE ObjectName = "NAME";

Таблицата ALL_OBJECTS съдържа списъка на всички достъпни за потребителя обекти, налични за конкретния идентификатор за влизане. За да използвате име, изтрийте всички нежелани обекти със същото име.

Игнориране на грешката при използване на обработка на изключения

Потребителите могат да заобикалят ORA-00955, като създадат манипулатор за изключване, който игнорира грешката при създаването на обекта. Създайте PL / SQL код, който ще обработи грешката и ще присвои "NULL" на неговия статус:

ДЕКЛАРИРАЙТЕ MyNamedTableExists ИЗКЛЮЧЕНИЕ; pragma exception_init (MyNamedTableExists, -955); sql_stmt varchar2 (50): = 'създаване на таблична таблица (номер col1)'; BEGIN / изпълни незабавно sql_stmt; / Създаване на таблица MyNamedTableExists AS SELECT * FROM MySupposedTable; /+ Игнорирайте грешките на ORA-955, ако името на таблицата вече съществува / EXCEPTION, когато MyNamedTableExists след това NULL; END;