DBAtlas · Атлас эксплуатации баз данных

ORA-00955: Имя уже используется существующим объектом

Oracle

Что это значит?

Имя создаваемого объекта (таблицы, индекса, представления, последовательности, синонима и т. д.) уже используется другим объектом в той же схеме. В Oracle имена объектов уникальны в пределах схемы, и даже объекты разных типов, такие как таблицы, представления и последовательности, разделяют одно пространство имён.

Почему возникает?

Имя, выбранное в операторе CREATE, конфликтует с существующим объектом. Частая ловушка: попытка создать последовательность или представление с тем же именем, что у таблицы; или автоматически созданное имя индекса (например, индекса первичного ключа) совпадает с указанным вами именем.

Как исправить

Выберите другое имя или удалите конфликтующий объект. Чтобы узнать, какой объект использует имя: SELECT object_type, object_name FROM user_objects WHERE object_name = 'YOUR_NAME'; Если действительно нужно его заменить, выполните DROP старого объекта (сначала сделайте бэкап его данных). CREATE OR REPLACE доступен для представлений, синонимов, типов и объектов PL/SQL (procedure, function, package, trigger); для таблиц, индексов и последовательностей его нет.

Открыть в DBAtlas →

Ещё по этой СУБД