From: | Virginia <mavir78(at)gmail(dot)com> |
---|---|
To: | Alejandro Carrillo <fasterzip(at)yahoo(dot)es> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: triggers |
Date: | 2012-05-07 14:32:39 |
Message-ID: | CAKCW+TdjpU_=u+p6N-nZNemowvWFW3uyxBAa4bXSguHMWHhMZA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchísimas gracias, ya corrió el trigger, efectivamente me estaba faltando
en () y :=
-------------------------------------------
Ing. Maria Virginia Porras B.
-------------------------------------------
El 4 de mayo de 2012 17:21, Alejandro Carrillo <fasterzip(at)yahoo(dot)es>escribió:
> Que muñequito tan simpático.
>
> Puedes usar:
> 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);
>
> ------------------------------
> *De:* Virginia <mavir78(at)gmail(dot)com>
> *Para:* Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
> *Enviado:* Viernes 4 de Mayo de 2012 16:29
> *Asunto:* [pgsql-es-ayuda] triggers
>
> 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;
>
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100;
> ALTER FUNCTION upd_last_paquete() OWNER TO empleate;
>
> -- Trigger: upd_ultimo_paquete on pagos_empresas
>
> -- DROP TRIGGER upd_ultimo_paquete ON pagos_empresas;
>
> CREATE TRIGGER upd_ultimo_paquete
> AFTER UPDATE
> ON pagos_empresas
> FOR EACH ROW
> EXECUTE PROCEDURE upd_last_paquete();
>
>
> y me da error, no se cómo hacer para que el select me traiga el resultado
> de esa operación sobre el campo de otra tabla y me lo actualice sobre la
> tabla correspondiente.
>
> Gracias!!!!
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Carrillo | 2012-05-07 14:46:34 | Re: Machete para examen jejeje |
Previous Message | Virginia | 2012-05-07 14:31:59 | Re: triggers |