hola amigos aca yo otra vez, probe agregandole el group by SELECT INTO nino id_familia,count(id_familia) AS numhijos FROM familia_x_hijos WHERE id_nino=old.id_nino group by id_familia; bueno esta vez si me elimina todos los datos de las otras tablas, pero no me elimina los datos del niño y de los padres en las tablas familia, familia_x_hijos, padre y madre y ya no se pq, los triggers q tengo para esto son:
este es el trigger q me elimina los datos de todas las otras tablas excepto los datos de las tablas familia, padre y madre este trigger es:
Código:
Create or replace function eliminar_antes_de_nino() returns trigger as
$$
declare
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;
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();
y este es el trigger q me deberia eliminar los datos de las tablas familia, padre y madre:
Código:
CREATE OR REPLACE FUNCTION eliminar_familia() returns TRIGGER AS
$$
declare
nino record;
padres record;
Begin
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 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;
end IF;
RETURN old;
End;
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER borrar_familia_antes_d_menor before
DELETE ON nino
for each row execute procedure eliminar_familia();
pero no me funciona no me eliminan los datos de las tablas familia, padre y madre porfavor amigos ayuda!!!! en q estoy fallando?? ruego su ayuda este me tiene desesperadoooo!!!! de antemano gracias .... bye