Bueno, convertir esa trama de datos en una entrada a la otra tabla requiere de usar funciones de cadena para eso. Usualmente te aconsejaría que modificases el proceso que
inserta los datos, para que ya ingresen desde origen normalizados. Hacer esto en SQL es algo poco performante.
Ahora bien, asumiendo que
no puedes modificarlo, sólo resta crear la query que lo divida. Para eso se usa SUBSTRING_INDEX(), de este modo:
Código MySQL:
Ver original -> ;
+--------+---------+---------+--------+--------+--------+
| valor1 | valor2 | valor3 | valor4 | valor5 | valor6 |
+--------+---------+---------+--------+--------+--------+
| 00E | 6379830 | 71.8000 | 8.2880 | 0455 C | 1111 |
+--------+---------+---------+--------+--------+--------+
mysql>
Usando algo así se puede crear un insert hacia la segunda tabla con sólo hacer un INSERT... SELECT, como este:
Código MySQL:
Ver originalINSERT INTO tabla
(inicio_trama
, saldo
, voltaje
, bateria
, codigo_sucursal
, fin_trama
)
Esto se podría hacer en un SP, e incluso sería posible en un TRIGGER, pero este segundo caso no es muy perfomante para tu escenario así que te recomiendo no usarlo.
El SP se puede invocar por EVENT para que corra sólo, o bien meter la query en un EVENT, con las condiciones necesarias.
Habría que ver qué condiciones debe cumplir para no duplicar los registros.