Шта је Орацле СКЛ код 955?

Аутор: Christy White
Датум Стварања: 3 Може 2021
Ажурирати Датум: 3 Јули 2024
Anonim
Уроки SQL для начинающих / #2 - Создание БД, таблиц и работа с ними
Видео: Уроки SQL для начинающих / #2 - Создание БД, таблиц и работа с ними

Садржај

Орацле ПЛ / СКЛ грешка 955, боље позната као ОРА-00955, појављује се када корисник креира објекат у бази података са именом које користи већ постојећи објекат, као што су табела, поглед, индекс, синоним или група. Давање објекта другом имену решава грешку.


ОРА-00955 је грешка изузетка која се појављује са именом које је већ додељено другом објекту (Јустин Сулливан / Гетти Имагес / Гетти Имагес)

Порука о грешци

Корисник креира објекат на Орацле ПЛ / СКЛ командној линији са одређеним именом и прима поруку "ОРА-00955 име је већ у употреби од стране постојећег објекта".

Узроци

Порука о грешци се може појавити када корисник инсталира ажурирање, покрене скрипту у Орацле ПЛ / СКЛ који брише или креира табеле или индексе, или користи реч резервисану за системски дефинисан објекат. Уопштено, корисник ће покушати да креира објекат са именом које је већ додељено другом објекту у бази података.

Решење

Корисницима се препоручује да изаберу друго име или објекат, или да измене и преименују постојећи објекат да би дозволили коришћење жељеног имена. Погледајте ДБА_ОБЈЕЦТС или УСЕР_ОБЈЕЦТС да бисте потврдили да ли други корисник има име које се користи.


Такође проверите надимке и јавне синониме за постојеће име користећи следећу изјаву:

СЕЛЕЦТ * ФРОМ АЛЛ_ОБЈЕЦТС ВХЕРЕ ОбјецтНаме = "ИМЕ";

Табела АЛЛ_ОБЈЕЦТС садржи листу свих доступних објеката који су доступни за специфични ИД за пријављивање. Да бисте поново користили име, избришите све нежељене објекте са истим именом.

Игнорисање грешке коришћењем обраде изузетака

Корисници могу да заобиђу ОРА-00955 тако што ће креирати управљача изузетака који игнорише грешку у креирању објекта. Направите ПЛ / СКЛ код који ће обрадити грешку и додијелити "НУЛЛ" статусу:

ДЕЦЛАРЕ МиНамедТаблеЕкистс ЕКСЦЕПТИОН; прагма екцептион_инит (МиНамедТаблеЕкистс, -955); скл_стмт варцхар2 (50): = 'креира табелу темпсторе (цол1 број)'; БЕГИН / екецуте непосредни скл_стмт; / ЦРЕАТЕ ТАБЛЕ МиНамедТаблеЕкистс АС СЕЛЕЦТ * ФРОМ МиСуппоседТабле; / Т+ Занемари грешке ОРА-955 ако име табеле већ постоји / ЕКСЦЕПТИОН када је МиНамедТаблеЕкистс тада НУЛЛ; ЕНД;