RE: Saber en que columna el usuario hizo una modificacion

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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