From: | José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com> |
---|---|
To: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>, Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
Cc: | Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Saber en que columna el usuario hizo una modificacion |
Date: | 2016-05-18 03:09:42 |
Message-ID: | BAY173-W106EAA5D572C250AEB2533C6490@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Mil gracias a Guillermo!!
Era justo lo que queria hacer!!
Se te agradece hermano!!
ing. José Fermín Francisco Ferreras
San Francisco de Macorís, Rep. Dom.
Date: Mon, 16 May 2016 10:41:46 -0300
Subject: Re: [pgsql-es-ayuda] Saber en que columna el usuario hizo una modificacion
From: guillermovil(at)gmail(dot)com
To: gherzig(at)fmed(dot)uba(dot)ar
CC: josefermin54(at)hotmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
si se puede hacer, ante un update, en una función de trigger disparado for each row contás con los registros
NEWData 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.OLDData 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
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2016-05-18 03:20:45 | Re: Reporte Web de datos Postgrsql |
Previous Message | Herman Estaban | 2016-05-17 13:14:34 | Re: Funcion con SELECT |