From: | Javier Bermúdez Tito <javier_bt(at)hotmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Manejo de Trigger con TG_RELNAME urgente |
Date: | 2006-07-05 16:02:44 |
Message-ID: | BAY116-F15EEFF46912302265F156185760@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola lista, bueno tengo un problemilla que se me esta presentando en el
trabajo y necesito darle una solución urgente, haber si alguien tuvo esta
necesidad me puede ayudar gracias.
Haber necesito realizar algo asi como una auditoria de una tabla osea saber
quien modifico un campo de una tabla x; ahora bien se que debo ejecutar un
trigger para que se ejecute automaticamente, tambien se que puedo saber si
estoy haciendo un UPDATE, INSERT ó DELETE con TG_OP puedo saber estos
valores, tambien con TG_RELNAME puedo saber e nombre de la tabla, pero lo
que necesito ahora es saber exactamente que campo de mi tabla fue
actualizado su valor y necesito registrar solo los valores de algunos
campos, como podria recuperar esa informacion saber que campo o campos
fueron actualizados
Ejemplo
Tabla : SOCIOS
Campos : idsocio, nombres, apellidos, direccion, telefono, sexo, f_nac
ahora bien hacer un trigger que se ejecute en mi tabla SOCIOS AFTER UPDATE
y solo quiero guardar los cambios por ejemplo de los campos direccion,
telefono, pero no de todos a la vez, porque no se si cambiaran los tres
campos a la vez o solo uno de ellos, pero cualquiera de estos campos si
cambio algun dato registrarlo en una tabla maso menos asi
Tabla : AUDIT
Campos idaudit, nom_table, nom_campo, valor_antiguo, valor_nuevo,
fecha_cambio, codigo_usuario
en esta tabla debo registrar los cambios de cualquier campo de entre esos
dos campos mencionados antes
idauidt, nom_table, nom_campo, valor_antiguo, valor_nuevo, fecha_cambio,
codigo_usuario
00001 socios telefono 2552145 4931682 04/07/2006
00122
00002 socios direccion av. peru #12 jr. rios #15
05/07/2006 00120
00003 emple referencia altura parque altura ovalo
05/07/2006 00132
mediante el codigo_usuario yo identifico que usuario y cuando realizo el
cambio de esos datos en cualquiera de las tablas a las que asocie un trigger
con esas caracteristicas, pero lo que me intresa mucho es saber que campo
fue actualizado ese es el punto espero haberme dejado entender gracias de
antemano espero su respuesta gracias
From | Date | Subject | |
---|---|---|---|
Next Message | Marco Castillo | 2006-07-05 16:19:04 | No utilizar password en pg_dump |
Previous Message | Juanky Moral | 2006-07-05 14:36:54 | Re: ayuda fechas |