Auditoria de base de datos, ¿Triggers o procedimiento almacenado?

Iniciado por reiser, 5 Septiembre 2016, 17:12 PM

0 Miembros y 1 Visitante están viendo este tema.

reiser

Hola a tod@s , tengo una base de datos en la cual tengo una tabla de usuarios (los que pueden acceder a mi sistema), y una tabla de productos. Hay varios usuarios que tienen acceso a la tabla productos, que pueden modificar, agregar o borrar productos.

Lo que quiero es poder llevar un registro de los usuarios que realicen estas acciones, y guardar los registros en otra tabla, auditoria_productos, se que con triggers puedo registrar en la tabla auditoria productos el valor anterior, y el valor nuevo de los productos entre otros valores. Pero mi duda es si puedo registrar el usuario que hace la modificación , vi que con current_user() se puede guardar el usuario de la base de datos, pero me interesa es el usuario que se loguea en el sistema.

No se si es posible con un triggers o si hay que usar un procedimiento almacenado ya que estos si pueden recibir parametros.

Saludos y gracias de antemano

ThinkByYourself

Hola reiser. ¿ Qué tipo fe bade de datos usas? ¿MySQL, SQL Server,...?
No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.

Zeros1001

Desconozco si se puede desde la base de datos.

Pero la solución que le veo a priori es realizarlo desde la aplicación, me explico:

Te logueas en la aplicación y en el método InsertarProducto, tras insertar el producto realizas una inserción en auditoria_productos donde guardas el user, el product ID y la fecha si quieres.

Espero que te sirva de ayuda. Saludos

PD: Además de eso, puedes realizar un log en el servidor, en un .dat o .txt por ejemplo.