Visto!!!
debo de hacer dos llamadas Execute
Y... Ya tengo solucionado la "renumeración" (he conseguido bajar de 63seg a 12seg
Me doy por satisfecho!!!
Así es como lo hago, por si a alguien le puede servir (y no perder 3 dias, como yo, pero que saben a gloria al conseguirlo)
:Execute( "SET @n1:=0, @c:='" +cSQL+ "';" )
:Execute( "UPDATE assentaments SET assent= CASE WHEN (@n1:=INSTR( @c, CONCAT('{',LPAD(RTRIM(id),5,'0'),',') )) > 0 THEN SUBSTR(@c,@n1+8,5) ELSE assent END;" )
donde cSQL lo voy montando segun criterio de si hay que cambiar la numeración del registro.
por ej, podria ser...
'{17074, 00004}, {17075, 00004}, {00010, 00005}, {00011, 00006}, {00012, 00007}, {00015, 00007}, {00019, 00007}, {00018, 00007}, {00017, 00007}, {00016, 00007}, {00013, 00007}, {00014, 00007}, {00021, 00008}, {00022, 00008}, {00020, 00008}, {00023, 00009}, {00025, 00009}, {00026, 00009}, {00027, 00009}, {00024, 00009}'
Gracias.
Very Happy!!!
Un Saludo,
Xevi.