Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Ayuda con este trigger pls!!!!

Estas en el tema de Ayuda con este trigger pls!!!! en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/06/2009, 16:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 11 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.