tengo las siguientes tablas:
tabla niño (pk id_nino), tabla padre (pk rut_padre), tabla madre (pk rut_madre) tabla familia (id_familia pk, rut_madre fk, rut_padre fk) tabla familia_x_hijos (id_familia pk, id_nino pk) bueno esas son mis tablas y lo q necesito es lo sgte:
necesito diaparadores (triggers) q me eliminen a la familia al padre y a la madre en el caso en q esa familia ya no tengas mas hijos en la tabla familia por hijos, en el caso q no sea el hijo unico de la familia, q solo me elimine al hijo (niño) el cual se quiera eliminar de la bd.... he intentado hacerlo pero no me resulta, el trigger q tengo es el sgte:
Código:
ese es pero no me elimina ni la familia_hijos ni al padre ni a la madre, es decir me borra todos los datos de las demas tablas menos de las q nombre recie, como tiene q ser en codigo lo q necesito hacer?? porfavor amigos pueden guiarme en cuanto al codigo de como puedo realizar lo q kiero??? porfavor se los ruego me tiene urgidicimo.... de antemano gracias..... bye CREATE OR REPLACE FUNCTION eliminar_familia() returns TRIGGER AS $$ declare nino record; Begin SELECT INTO nino count(id_familia) AS numhijos FROM familia_x_hijos WHERE id_nino=old.id_nino; IF nino.numhijos = 0 then DELETE FROM familia WHERE old.id_familia=id_familia; end IF; RETURN old; End; $$ LANGUAGE 'plpgsql'; CREATE TRIGGER borrar_familia_antes_de_menor before DELETE ON nino FOR each row execute procedure eliminar_familia();