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
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 |