[Pgsql-ayuda] triggers

Martin Marques martin@bugs.unl.edu.ar
Tue, 23 Dec 2003 17:21:17 -0300


El Mar 23 Dic 2003 16:56, Guti=E9rrez Cuberos Tania Milena escribi=F3:
> Hola Amigos de postgres
>=20
> Necesito pasar un trigger hecho en oracle a postgres:
>=20
>=20
>=20
> CREATE OR REPLACE TRIGGER TR_I_AUD_RECIBIDO
> AFTER INSERT ON RECIBIDO
> FOR EACH ROW
> BEGIN
>     INSERT INTO AUD_RECIBIDO (
> RECI_ID, RECI_ASUNTO, RECI_ESTADO, RECI_FECHA, RECI_NOMBREMENSAJE,
> RECI_SUBPATH, RECI_TAMANO, RECI_REGISTRADOPOR, RECI_FECHACAMBIO,ADRE_ID,
> CUEN_ID, CUEN_IDRECIBIDO, RECI_OPERACION) VALUES (
> :new.RECI_ID, :new.RECI_ASUNTO, :new.RECI_ESTADO, :new.RECI_FECHA,
> :new.RECI_NOMBREMENSAJE, :new.RECI_SUBPATH, :new.RECI_TAMANO,
> :new.RECI_REGISTRADOPOR, :new.RECI_FECHACAMBIO, :new.ADRE_ID,
> :new.CUEN_ID, :new.CUEN_IDRECIBIDO, 'I');
> END;
>=20
> Existe dos tablas:  RECIBO Y LA AUD_RECIBO

Hacelo en dos partes.

Crea una funcion que devuelva un tipo de dato TRIGGER y no tenga argumentos=
=2E=20
Dicha funcion deberia hacer lo que se realiza entre el BEGIN y el END.

Cuando creas el trigger con las misma reglas, le decis que ejecute dicha=20
funcion.

Mira el manual de PostgreSQL:

http://www.postgresql.org/docs/current/interactive/triggers.html

http://www.postgresql.org/docs/current/interactive/xplang.html

=2D-=20
select 'mmarques' || '@' || 'unl.edu.ar' AS email;
=2D----------------------------------------------------------------
Mart=EDn Marqu=E9s                  |        mmarques@unl.edu.ar
Programador, Administrador, DBA |       Centro de Telem=E1tica
                       Universidad Nacional
                            del Litoral
=2D----------------------------------------------------------------