Ver Mensaje Individual
  #19 (permalink)  
Antiguo 11/06/2009, 10:55
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: como hacer este trigger????

Hola amigos, gracias por su ayuda solucione el problema con el trigger de visitas, pero ahora tengo un problema para eliminar a la familia, ya q no me la elimina y necesito q me elimine la familia y la familia_x_hijos y a su vez si la familia ya no tiene mas hijos q me elimine la informaciuon del padre y de la madre de su respectiva tabla (tablas padre y madre), el trigger q tengo por ahora es el siguiente:
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 mi trigger q me cuenta kuantos hijos tiene la familia y si la familia tiene 0 hijos deberia eliminarme la familia completa, pero lo q necesecito y lo q no he podido hacer es q me elimine a la familia y a la vez q me elimine la informacion del padre y de la madre de sus respectivas tablas una vez q en la familia ya no existan mas hijos, en la tabla madre y padre suis respectivas pk son rut_padre y rut_madre la tabla familia tiene como pk id_familia, rut_madre y rut_padre y la tabla familia_x_hijos tiene como primary key compuestas id_familia e id_niño, esa es la estructura principal de las tablas involucradas, porfavor amigos guienme como puedo lograr este trigger!!!! de antemano gracias.... bye