Código MySQL:
Ver original-   
-   
-   
-   
-   
-         SET-  old_id_num_serie  =-  OLD.id_num_serie ;
 
-   
-         SET-  new_id_num_serie  =-  NEW.id_num_serie ;
 
-   
-         SET-  old_id_tipo  =-  OLD.id_tipo ;
 
-   
-         SET-  new_id_tipo  =-  NEW.id_tipo ;
 
-   
-   
-   
-         SET-  old_fecha_alta  =-  OLD.fecha_alta ;
 
-   
-         SET-  new_fecha_alta  =-  NEW.fecha_alta ;
 
-   
-         SET-  old_fecha_baja  =-  OLD.fecha_baja ;
 
-   
-         SET-  new_fecha_baja  =-  NEW.fecha_baja ;
 
-   
-         SET-  old_modelo  =-  OLD.modelo ;
 
-   
-         SET-  new_modelo  =-  NEW.modelo ;
 
-   
-         SET-  old_id_proveedor  =-  OLD.id_proveedor ;
 
-   
-         SET-  new_id_proveedor  =-  NEW.id_proveedor ;
 
-   
-         SET-  old_id_fabricante  =-  OLD.id_fabricante ;
 
-   
-         SET-  new_id_fabricante  =-  NEW.id_fabricante ;
 
-   
-   
-   
-         SET-  old_id_ubicacion  =-  OLD.id_ubicacion ;
 
-   
-         SET-  new_id_ubicacion  =-  NEW.id_ubicacion ;
 
-   
-         SET-  old_num_factura  =-  OLD.num_factura ;
 
-   
-         SET-  new_num_factura  =-  NEW.num_factura ;
 
-   
-   
- IF-  old_id_num_serie  !=-  new_id_num_serie  THEN
 
-     SET-  cad  = CONCAT("id_num_serie:",- old_id_num_serie ,":",- new_id_num_serie ,";");
 
-   
- IF-  old_id_tipo  !=-  new_id_tipo  THEN
 
-     SET-  cad  = CONCAT(- cad ,"id_tipo:",- old_id_tipo ,":",- new_id_tipo ,";");
 
-            
-     SET-  cad  = CONCAT(- cad ,"dni:",- old_dni ,":",- new_dni ,";");
 
-   
- IF-  old_fecha_alta  !=-  old_fecha_alta  THEN
 
-     SET-  cad  = CONCAT(- cad ,"fecha_alta:",- old_fecha_alta ,":",- new_fecha_alta ,";");
 
-   
- IF-  old_fecha_baja  !=-  new_fecha_baja  THEN
 
-     SET-  cad  = CONCAT(- cad ,"fecha_baja:",- old_fecha_baja ,":",- new_fecha_baja ,";");
 
-   
- IF-  old_modelo  !=-  new_modelo  THEN
 
-     SET-  cad  = CONCAT(- cad ,"modelo:",- old_modelo ,":",- new_modelo ,";");
 
-   
- IF-  old_id_proveedor  !=-  new_id_proveedor  THEN
 
-     SET-  cad  = CONCAT(- cad ,"id_proveedor:",- old_id_proveedor ,":",- new_id_proveedor ,";");
 
-   
- IF-  old_id_fabricante  !=-  new_id_fabricante  THEN
 
-     SET-  cad  = CONCAT(- cad ,"id_fabricante:",- old_id_fabricante ,":",- new_id_fabricante ,";");
 
-   
-     SET-  cad  = CONCAT(- cad ,"uso:",- new_uso ,":",- old_uso ,";");
 
-   
- IF-  old_id_ubicacion  !=-  new_id_ubicacion  THEN
 
-     SET-  cad  = CONCAT(- cad ,"id_ubicacion:",- old_id_ubicacion ,":",- new_id_ubicacion ,";");
 
-   
- IF-  old_num_factura  !=-  new_num_factura  THEN
 
-     SET-  cad  = CONCAT(- cad ,"num_factura:",- old_num_factura ,":",- old_num_factura ,";");
 
-   
-   
-     (operacion, usuario_gestion, permiso, tabla, clave_primaria, campo_valor, fecha_movimiento) 
-     VALUES ('Update', 'user', 'permiso', 'dispositivos',-  new_id_num_serie ,-  cad , SYSDATE());
 
-   
-   
Sin utilizar un bucle sólo he podido hacerlo funcionar de esta forma. Cómo podría mejorar el trigger y ahorrarme líneas de código ¿? No me parece nada eficiente.