Se me olvidaba, fíjate que los [campos] que ves en el SELECT son para recoger en la consulta los valores de los que te interesan de la tabla (realmente en esa porción de código con el primero bastaba).
lo que hace a partir del IF es: si el registro actual contiene algo, entonces:
1º) Le das como valor al campo Referencia_Actual_UTM, los siete primeros caracteres del campo REF ACTUAL
2º) Le das como valor al campo Referencia_Actual_Plano, los siete caracteres a partir del 8º (incluido) del campo REF ACTUAL
Esto se podía poner todo en la misma sentencia SQL, pero lo hago así para que sea más claro a la hora de leer el código.
Para cerrar el bucle (no creí necesario ponerlo):
Porque sino estarías en un bucle infinito.
Salu2