Error ORA-02292

Necesito hacer un eliminado en cascada, pero los manuales que he encontrado son demasiado técnicos, ¿hay una forma sencilla de hacer esto?

1 respuesta

Respuesta
1
¿Eliminación de qué?
Drop table cascade constraints;
Necesito hacer una eliminación en cascada, pero los manuales que he encontrado son demasiado técnicos, ¿hay una forma sencilla de hacer esto?
Lo que pasa es que no puedo ni eliminar ni actualizar un campo de una determinada tabla, ya que ese campo esta conectado con otras tablas.
La respuesta que encontré en la web es esta
"Si queremos borrar esa fila debemos borrar antes la filas de la tabla desde las que se le hace referencia".
Eso es otra cosa, lo que puedes hacer es deshabilitar la constraint antes de eliminar la fila.
Algo que se puede hacer y que a mi no me gusta, es crear la constraint con la opción ON DELETE CASCADE, para que lo haga automáticamente pero me parece bastante peligroso.
¿La duda es como deshabilito la constraint?... ¿Y la otra que tan peligroso es hacer eso?
Es peligroso porque quedas sin integridad referencial al hacerlo, pero si se hace con cuidado no hay problemas. El tema es que si eliminas un valor de la tabla padre que es referenciado por la tabla hija, perderás la integridad de esos datos; si se sabe lo que se está haciendo, no hay problemas porque simplemente se habilita de nuevo la constraint sin chequear (a riesgo de errores de integridad) las filas actuales.
Si la idea es eliminar una columna y en su lugar colocar otra, lo que tienes que hacer es más o menos lo siguiente:
1-Agregar la nueva columna, asignar los valores correspondientes.
2- Eliminar la actual restricción.
3-Crear la nueva restricción que apunte a la nueva columna.
Si querés podes pasar datos más precisos para ver qué es lo que necesitas/debes hacer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas