Código MySQL:
Ver original
DECLARE c_col_dispositivos CURSOR FOR
OPEN c_col_dispositivos;
get_columns: LOOP
FETCH c_col_dispositivos
INTO v_col
;
IF OLD.v_col
!= NEW.v_col
THEN
SET cad
= CONCAT(cad
," ",v_col
,":",OLD.v_col
,":",NEW.v_col
,";");
CLOSE c_col_dispositivos;
(operacion, usuario_gestion, permiso, tabla, campo_valor, fecha_movimiento)
VALUES ('Update', 'user', 'permiso', 'dispositivos', cad
, SYSDATE());
Como ya he escrito en el título se trata de un disparador AFTER UPDATE. La operación que debe realizar es muy simple, almacenar los campos modificados de la tabla "dispositivos" así como sus anteriores valores y los nuevos en un sólo campo de la tabla "bitacora". Se me ha ocurrido hacer una consulta para obtener todos los campos de la tabla "dispositivos", recorrerlos y operar con ellos con OLD y NEW pero el invento no me ha funcionado, no me reconoce el VARCHAR con el nombre de la tabla como una columna de dispositivos. Qué solución tiene ¿?
thx