Re: PGSQL - Triggers

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

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

--
Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema

Santiago - Chile

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Giorgio PostgreSQL 2009-05-13 16:25:21 Re: PGSQL - Triggers
Previous Message Espartano 2009-05-13 16:07:42 Re: PGSQL - Triggers