Re: Saber en que columna el usuario hizo una modificacion

From: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
To: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
Cc: José Fermín <josefermin54(at)hotmail(dot)com>, Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Saber en que columna el usuario hizo una modificacion
Date: 2016-05-16 13:41:46
Message-ID: CANm+PCBnmJUHK_dpgTfjLZqU8mXC104i1Z+qTcQhKorc3rE9Ow@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

si se puede hacer, ante un update, en una función de trigger disparado for
each row contás con los registros

NEW

Data type RECORD; variable holding the new database row for
INSERT/UPDATE operations
in row-level triggers. This variable is NULL in statement-level triggers
and for DELETE operations.
OLD

Data type RECORD; variable holding the old database row for
UPDATE/DELETE operations
in row-level triggers. This variable is NULL in statement-level triggers
and for INSERT operations.

y podes comparar new.nombrecolumnas con old.nombrecolumna

El 14 de mayo de 2016, 11:18, Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> escribió:

> Mmmm lo complicado de hacerlo con triggers es obtener ese dato del usuario.
> Si tenes alguna forma de obtenerlo (gracias a algun id de sesion, o algo
> asi), entonces con un trigger podrias, con algo de trabajo, determinar que
> columnas de que tabla cambiaron, darle formato y grabarlo en esa tabla de
> auditoria
>
> HTH
> Gerardo
>
> ----- Mensaje original -----
> > De: "José Fermín Francisco Ferreras" <josefermin54(at)hotmail(dot)com>
> > Para: "Lista PostgreSQL" <pgsql-es-ayuda(at)postgresql(dot)org>
> > Enviados: Viernes, 13 de Mayo 2016 23:50:37
> > Asunto: [pgsql-es-ayuda] Saber en que columna el usuario hizo una
> modificacion
> >
> >
> > Buenas noches!!
> >
> >
> > Me gustaría saber como guardar en una tabla de historial los cambios
> > realizados solo en las columnas cuyos datos fueron modificados en
> > otra tabla (cliente).
> >
> >
> > Por ejemplo:
> >
> >
> > tabla: cliente
> >
> >
> > campos: id, nombre, apellido, fecha_nac, cedula, direccion
> >
> >
> >
> >
> > tabla: historial
> >
> >
> > id: 1
> > fecha: 2016-01-01 10:00:00
> > usuario: 5
> > modifico dato columna: nombre
> >
> >
> > id:2
> > fecha: 2016-01-01 14:50:10
> > usuario: 2
> > modifico dato columna: cedula
> > id:3
> > fecha: 2016-01-01 14:50:10
> > usuario: 2
> > modifico dato columna: direccion
> >
> >
> >
> >
> >
> >
> >
> > ing. José Fermín Francisco Ferreras
> > San Francisco de Macorís, Rep. Dom.
> >
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mauricio pullabuestan 2016-05-16 16:51:51 Actualización demora mucho..
Previous Message Guillermo E. Villanueva 2016-05-16 13:33:03 Re: PLPython en Windows