hola huesos sorry por todo, de verdad sorry por aun estar con el problema e insistir, pero
no me funciona, probe la ultima manera q me dijiste pero aun no me elimina ni de la tabla
familia ni de las tablas padre y madre de verdad no se pq no me elimina, pero porfavor ruego
su ayuda para lograr saber en q estoy fallando, si la tabla familia se compone de id_familia
como pk y de rut_madre y rut_padre como fk pertenecientes a estas respectivas tablas al tener esta composicion en q estare falland si
al eliminar a mano a la familia antes de eliminar al padre y la madre de sus tablas si
me las elimina pero no me permite eliminar primero al padre y a la madre antes de eliminar
a la familia q componen estos en la tabla familia, esta bien esta composicion o ahi estoy fallando???
porfavor amigos ruego su ayuda!!! estoy realmente desesperado porfavor ayuda!!! de antemano gracias.... bye
PD: la forma como lo probe ultimamente es esta:
Código:
CREATE OR REPLACE FUNCTION eliminar_antes_de_nino() returns TRIGGER AS
$$
declare
nino record;
padres record;
Begin
DELETE FROM actividad WHERE old.id_nino=id_nino;
DELETE FROM beneficio WHERE old.id_nino=id_nino;
DELETE FROM educacion WHERE old.id_nino=id_nino;
DELETE FROM nino_vive_en WHERE old.id_nino=id_nino;
DELETE FROM salud WHERE old.id_nino=id_nino;
DELETE FROM trabajo WHERE old.id_nino=id_nino;
SELECT INTO nino id_familia,count(id_familia) AS numhijos FROM familia_x_hijos WHERE id_nino=old.id_nino GROUP BY id_familia;
IF nino.numhijos = 0 then
SELECT INTO padres rut_padre,rut_madre FROM familia WHERE id_familia=nino.id_familia;
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;
end IF;
DELETE FROM familia_x_hijos WHERE old.id_nino=id_nino;
RETURN old;
End;
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER borrar_todo_antes_de_nino before
DELETE ON nino
FOR each row execute procedure eliminar_antes_de_nino();