DBAtlas · Atlas d'exploitation des bases de données

ORA-00955: name is already used by an existing object (nom déjà utilisé par un objet existant)

Oracle

Que signifie cette erreur ?

Le nom de l'objet que vous tentez de créer (table, index, vue, séquence, synonyme, etc.) est déjà utilisé par un autre objet du même schéma. Dans Oracle, les noms d'objets sont uniques au sein d'un schéma, et même des types différents comme les tables, les vues et les séquences partagent le même espace de noms.

Cause

Le nom choisi dans l'instruction CREATE est en conflit avec un objet existant. Piège fréquent : tenter de créer une séquence ou une vue portant le même nom qu'une table ; ou un nom d'index créé automatiquement (par ex. l'index de la clé primaire) entrant en collision avec le nom que vous avez indiqué.

Comment la corriger

Choisissez un autre nom ou supprimez l'objet en conflit. Pour savoir quel objet utilise ce nom : SELECT object_type, object_name FROM user_objects WHERE object_name = 'YOUR_NAME'; Si vous voulez vraiment le remplacer, supprimez (DROP) l'ancien objet (sauvegardez d'abord ses données). CREATE OR REPLACE est disponible pour les vues, synonymes, types et objets PL/SQL (procédure, fonction, package, trigger) ; il n'existe pas pour les tables, index et séquences.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur