El 13 de mayo de 2009 11:16, Cesar Erices <[email protected]> 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.
