sql >> Base de Datos >  >> RDS >> Oracle

Tabla truncada en Oracle obteniendo errores

Tiene que cambiar la sentencia TRUNCATE por sentencias DELETE, más lentas y registradas, pero esa es la forma de hacerlo cuando existen restricciones.

DELETE mytablename;

O eso o puede encontrar las claves externas que hacen referencia a la tabla en cuestión y deshabilitarlas temporalmente.

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';

Donde pk-of-table es el nombre de la clave principal de la tabla que se trunca

Ejecute el resultado de la consulta anterior. Cuando haya hecho esto, recuerde habilitarlos nuevamente, solo cambie DISABLE CONSTRAINT en ENABLE CONSTRAINT