Hola amigos, bueno aca yo denuevo ahora con problemas en el momento en q hago el update para q la familia delniño quede inactiva en el momento en q el unico hijo q queda de esa familia es desactivado, bueno el trigger no me tira n error de sintaxis ni nada, pero me manda el error en el momento en q el unico niño de la familia es desactivado (en ese momento la familia de ese niño igual debe quedar inactiva ya q no tiene mas hijos activos dentro del sistema) bueno al ejecutar el update me actualiza el campo estado del niño a DESACTIVADO, en ese momento al ser el unico hijo que queda de la faimila, dicha familia tambien debe quedar desactivada pero aqui me manda el error el trigger al ejecutar el update del campo estado del niño a desactivo, el error q me manda es el siguiente:
Código:
ERROR: schema "ninos" does not exist
Estado SQL:3F000
Contexto:SQL statement "SELECT rut_padre,rut_madre FROM familia WHERE id_familia=ninos.NEW.id_familia"
PL/pgSQL function "cancelar_familia_antes_de_nino" line 28 at SQL statement
y mi trigger es este:
Código:
REATE OR REPLACE FUNCTION cancelar_familia_antes_de_nino() returns TRIGGER AS
$$
DECLARE
ninos record;
padres record;
BEGIN
SELECT INTO ninos T1.IF AS id_familia, count(fxh.id_familia) AS numhijos FROM
(SELECT id_familia AS IF FROM familia_x_hijos WHERE id_nino=new.id_nino)AS T1
INNER JOIN familia_x_hijos fxh ON T1.IF = fxh.id_familia
GROUP BY T1.IF;
UPDATE familia_x_hijos SET estado = 'DESACTIVADO' WHERE id_nino=NEW.id_nino;
IF ninos.numhijos = 1 then
SELECT INTO padres rut_padre,rut_madre FROM familia WHERE id_familia=ninos.NEW.id_familia;
UPDATE familia SET estado = 'DESACTIVADO' WHERE id_familia=ninos.new.id_familia;
UPDATE padre SET estado = 'DESACTIVADO' WHERE rut_padre=padres.NEW.rut_padre;
UPDATE madre SET estado = 'DESACTIVADO' WHERE rut_madre=padres.NEW.rut_madre;
END IF;
RETURN new;
End;
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER cancelar_familia_antes_de_nino before
UPDATE ON nino
FOR each row execute procedure cancelar_familia_antes_de_nino();
y no se pq me manda ese error de la variable record ninos, ya q la tengo declarada y al insertar/ejecutar el trigger en la bd no me manda ningun error, en q estoy fallando ahora amigos??? porfavor ruego su ayuda amigos!!!!, de antemano gracias.... bye