Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2009, 16:44
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 11 meses
Puntos: 0
como hacer este trigger????

Hola amigos, tengo una duda q no he podido resolver, lo q pasa q en mi bd tengo las tablas familia, padre, madre, niño y familia_x_hijos, y lo q necesito hacer es un trigger q al momento de eliminar un niño y si este niño tiene mas hermanos q solo me elimine a este niño de la tabla familia_x_hijos, ya q el trigger q tengo hasta ahora me elimina a toda la familia al eliminar a un niño los trigger q tengo para esto son:
Código:
Create or replace function eliminar_familia_x_hijos() returns trigger as

'
declare
Begin




delete from familia_x_hijos where old.id_familia=id_familia;



return old;
End;
'

language 'plpgsql';

create trigger borrar_familia_x_hijos_antes_de_familia before
delete on familia
for each row execute procedure eliminar_familia_x_hijos();
este me elimina al niño q pertenece a esa familia este otro me elimina a la familia del niño despues de eliminar al niño en la tabla faimiklia_x_hijos :
Código:
Create or replace function eliminar_nino() returns trigger as

'
declare
Begin

delete from familia where old.id_familia=id_familia;
return old;
End;
'

language 'plpgsql';

create trigger borrar_antes_de_nino before
delete on nino
for each row execute procedure eliminar_nino();
y me pregunta es como puedo hacer el trigger q solo me elimine al niño q kiero eliminar de la tabla familia_x_hijos, ya q con los trigger q tengo me eliminara todo
como puedo hacer en el trigger el select para q solo me elimine al niño q kiero eliminar de la tabla familia_x_hijos sin q me elimine a la familia completa en el caso de q este niño tenga mas hermanos???.... ruego su ayuda amigos.... de antemano gracias.... bye