Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/08/2015, 09:48
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: saber si se actualizo un campo en una tabla

El problema radica en que no existen eventos sobre columnas en las BBDD, que puedas usar para detectar cambios en algún campo de un registro cualquiera. Solo existen sobre tabla, que se usan para los TRIGGER y no aplican a tu caso.
De hecho, no conozco recursos de ningún tipo, en ningún DBMS que pueda hacer lo que quieres, porque requeriría que el sistema realizase un seguimiento de todo lo que ocurre en cada campo de cada tabla de cada base del servidor. Algo completamente impráctico.
Imagínate una base de datos empresarial: 960 tablas en un sólo esquema de los muchos que posea, las cuales tienen una media de 50 columnas. Serían 48.000 columnas.
¿Te imaginas la perdida de performance que tendría el servidor si debiese controlar los cambios que se realicen en cualquiera de ellas?
Sólo el redo segment sería un espanto.

usualmente lo que suele hacerse para implementar lo que quieres es algún sistema de log (file o tabla), donde se almacena una copia de la petición y/o llamada a SP de la base que realice los cambios. Considerando que la cantidad de llamados para escritura es siempre ostensiblemente menor que la de lecturas, es más simple y con menos complicaciones manejar la trazabilidad de cambios por medio de logs, que intentar hacer un seguimiento de las tablas en la base.

¿Se entiende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)