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

hola huesos lo probe como me dijiste el trigger me quedo asi:
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;
 
            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 ahora me da este error y no se pq:S el error es este:

ERROR: column "familia_x_hijos.id_familia" must appear in the GROUP BY clause or be used in an aggregate function line 16 at SQL statement

ese es el error q me da ahora y de verdad q no se pq me da ese error ahora, a q se debe??? en q estoy fallando ahora??? porfavor amigos ayuda!!!! se los ruego!!!! porfavor!!! en q estoy fallando??? ayuda please!!! de antemano gracias.... y sorry por todo lo q he molestado con esto pero de verdad me tiene desesperado!!! de antemano gracias.... bye

CONTEXT: SQL statement SELECT id_familia, count(id_familia) AS numhijos FROM familia_x_hijos WHERE id_nino=$1

"
PL/pgSQL function "eliminar_familia"