Ver Mensaje Individual
  #36 (permalink)  
Antiguo 23/06/2009, 19:18
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como hacer este trigger????

basado en esta estructura que posteaste en este foro
hola huesos, la estructura de mi tabla niño es
|id_nino (pk)| |nombre_nino| apellido_nino| etc...|

lo q necesito es q se me elimine a los padres una vez q se elimine al niño y ya la familia no tenga mas hijos pq hasta ahora solo me elimina las demas tablas pero no me elimina los datos de la tabla familia ni de las tablas padre y madre cuando la familia ya no tiene mas hijos y por lo tanto deja de existir.... las estructura de mis tablas es:

Cita:
tabla familia:
|id_familia(pk) |rut_madre (fk)| rut_padre (fk)|

tabla padre:
|rut_padre|nombre_padre|etc...|

tabla madre:

|rut_madre (pk)| nombre_madre| etc...|

tabla familia_x_hijos

|id_familia (pk) (fk tabla familia)| id_nino (pk) (fk tabla nino)|
Como borrar primero de la tabla familia, si existen registros dependientes de padre y madre?
Prueba en este orden

DELETE FROM padre WHERE rut_padre=padres.rut_padre;
DELETE FROM madre WHERE rut_madre=padres.rut_madre;
DELETE FROM familia WHERE id_familia=nino.id_familia;

Creo que es esto, ya que dices que de familia_x_hijos los datos se borran correctamente. Si miras bien, la tabla familia_x_hijos también tiene dependencias de familia y debería borrarse primero de esta tabla antes que familia.
Prueba el nuevo orden y dinos si ya se borran los datos de padre y madre.

Vamos por partes y detectando inconsistencias.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming