Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 16:14
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Ayuda con este trigger pls!!!!

Hola amigos, aca yo otra vez, tengo un trigger q no se como hacerlo, me explico;
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:
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();
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