Re: PGSQL - Triggers

From: Giorgio PostgreSQL <giorgio(dot)pgsql(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: PGSQL - Triggers
Date: 2009-05-13 16:25:21
Message-ID: c8a4ef220905130925u5c233d51qe5ce614c3587d751@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 13 de mayo de 2009 11:16, Cesar Erices <caerices(at)gmail(dot)com> escribió:

> yo uso ambas, por razones laborales, en todo caso la generacion de un
> triggers en postgres es algo como esto
> por ejemplo tengo una tabla reserva que quiero que al insertar un registro,
> automaticamente a traves de un triggers inserte el mismo registro en otra
> tabla, llamada reserva_auditada. Para eso debo generar lo siguiente
>
> 1. crear la tabla reserva y la tabla reserva_auditada
>
> 2. creas la funcion como esta
>
> CREATE OR REPLACE FUNCTION audita_reserva_trg()
> RETURNS trigger AS
> $BODY$
> DECLARE
> fecha timestamp;
> equipo varchar;
> BEGIN
> select into fecha current_timestamp(0);
> -- INSERTA LA IP DEL EQUIPO DEL USUARIO
> select into equipo inet_client_addr();
> --select into usuario user;
> IF TG_OP='INSERT' THEN
> INSERT INTO reserva_auditada (rs_cod, pf_cod, pc_cod,
> us_firma,rs_fecha,rs_desde, rs_hasta,rs_nombre,rsa_fecha,
> rsa_equipo,rsa_audita)
> VALUES (NEW.rs_cod,
> NEW.pf_cod,NEW.pc_cod,NEW.us_firma,NEW.rs_fecha,NEW.rs_desde,NEW.rs_hasta,
> NEW.rs_nombre,fecha, equipo,'INSERT');
> END IF;
> RETURN NULL;
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100;
> ALTER FUNCTION audita_reserva_trg() OWNER TO postgres;
>
> 2. luego en la tabla reservas creas el trigger que llame a la funcion
> recien creada
>
> CREATE TRIGGER audita_reserva_trg
> AFTER INSERT
> ON reserva
> FOR EACH ROW
> EXECUTE PROCEDURE audita_reserva_trg();
>
> Quien es la que hace el llamado a la funcion antes creada
>
> Alguna duda, al respecto? espero que te quede claro saludos

Gracias a todos por su aporte, me quedo claro, bueno ahora a seguir,
cualquier duda pronto lo sabran je..

Suso amigo mandame la info por fa

Gracias.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message suso 2009-05-13 16:52:57 Re: PGSQL - Triggers
Previous Message Cesar Erices 2009-05-13 16:16:48 Re: PGSQL - Triggers