From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | Carlos Alberto Márquez Rey <carlos_marquez_rey(at)yahoo(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Trigger no funciona, una ayuda por favor |
Date: | 2007-01-12 02:12:18 |
Message-ID: | c2d9e70e0701111812s104eb93dr253df50af9869e6e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 1/11/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Carlos Alberto Márquez Rey escribió:
> > Tengo el siguiente trigger y funcion trigger
> >
> >
> > CREATE OR REPLACE FUNCTION tru_rel_nombres_elementos()
> > RETURNS "trigger" AS
> > $BODY$
> > begin
> > if TG_OP = 'INSERT' or TG_OP = 'UPDATE' then
> > NEW.fec_ult_act = now();
> > end if;
> > if TG_OP = 'DELETE' then
> > end if;
> > return null;
> > end;
> > $BODY$
> > LANGUAGE 'plpgsql' VOLATILE;
> > ALTER FUNCTION tru_rel_nombres_elementos() OWNER TO postgres;
>
> cambia el return null por "RETURN NEW"
>
> >
> > CREATE TRIGGER tru_rel_nombres_elementos
> > AFTER INSERT OR UPDATE OR DELETE
> > ON rel_nombres_elementos
> > FOR EACH ROW
> > EXECUTE PROCEDURE tru_rel_nombres_elementos();
>
> Cambia "AFTER INSERT" por "BEFORE INSERT".
>
> Con eso deberia funcionar
>
Aunque ya alavaro te respondio...
para que la pregunta por DELETE? quita lo referente a DELETE tanto en
la funcion como en el trigger... esto no tiene nada que ver con tu
error pero vas a ejecutar el trigger cada vez que hagas un delete solo
para no hacer nada :(
--
Atentamente,
Jaime Casanova
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-01-12 02:30:21 | Re: IDEA |
Previous Message | Alvaro Herrera | 2007-01-12 01:23:15 | Re: Problema con funcion |