From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Virginia <mavir78(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: triggers |
Date: | 2012-05-04 21:59:48 |
Message-ID: | 1336168617-sup-5331@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excerpts from Virginia's message of vie may 04 17:29:31 -0400 2012:
> Buenas tardes!!!! Quisiera me orientaran con algo... [?]
> Estoy tratando de hacer el siguiente trigger
>
> -- Function: upd_last_paquete()
>
> -- DROP FUNCTION upd_last_paquete();
>
> CREATE OR REPLACE FUNCTION upd_last_paquete()
> RETURNS trigger AS
> $BODY$
> BEGIN
>
> NEW.venceultimoplan = SELECT (date(DATE(pe.fecha) + pq.paquete) -
> interval '1 day') FROM pagos_empresas pe, paquetes pq WHERE pq.paqid =
> pe.paqid and pe.empid = NEW.empid;
> UPDATE empresas SET ultimoplan = NEW.paqid(), iniciaultimoplan =
> NEW.fecha, venceultimoplan = NEW.venceultimoplan WHERE empid = NEW.empid;
>
> return NEW;
Acá me parece que lo que necesitas es usar un trigger BEFORE UPDATE. De
esa forma podrías cambiar los campos de NEW en el registro que está
siendo actualizado, y quedará guardado de esa forma después del update.
--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Marcos Michel Martinez Perez | 2012-05-05 17:24:40 | Programar funcion |
Previous Message | Alejandro Carrillo | 2012-05-04 21:51:22 | Re: triggers |