DBAtlas · Atlas de operaciones de bases de datos

ORA-00955: name is already used by an existing object (el nombre ya lo usa un objeto existente)

Oracle

¿Qué significa?

El nombre del objeto que intenta crear (tabla, índice, vista, secuencia, sinónimo, etc.) ya lo usa otro objeto del mismo esquema. En Oracle, los nombres de objeto son únicos dentro de un esquema, e incluso tipos distintos como tablas, vistas y secuencias comparten el mismo espacio de nombres.

¿Por qué ocurre?

El nombre elegido en la sentencia CREATE entra en conflicto con un objeto existente. Una trampa habitual: intentar crear una secuencia o vista con el mismo nombre que una tabla; o un nombre de índice creado automáticamente (p. ej., el índice de la clave primaria) que coincide con el nombre que indicó.

Cómo solucionarlo

Elija otro nombre o elimine el objeto en conflicto. Para averiguar qué objeto usa el nombre: SELECT object_type, object_name FROM user_objects WHERE object_name = 'YOUR_NAME'; Si realmente quiere sustituirlo, haga DROP del objeto antiguo (haga antes un backup de sus datos). CREATE OR REPLACE está disponible para vistas, sinónimos, tipos y objetos PL/SQL (procedure, function, package, trigger); no existe para tablas, índices y secuencias.

Abrir en DBAtlas →

Más entradas de este motor