Hola:
Esta es una duda muy general, y seguro que no esté diciendo nada importante, pero el caso es que tengo una función cuyo LOOP se basa en una cláusula WHILE
Código SQL:
Ver originalWHILE x < (SELECT COUNT(*) FROM prueba4)
Forma parte de una función para añadir un caracter '0' a una tabla de códigos postales, en aquellos que tienen 4 caracteres.
Estamos hablando de 153.000 registros más o menos, y puede tardar bastantes minutos.
Y otra función hecha con FOR registro IN ..... va mucho más rápida, mas o menos 2-3 segundos.
Evidentemente no hacen lo mismo, pero me da la impresión de que la diferencia de rapidez está más en la forma de plantear el ciclo que en el contenido del mismo, ya que dicho contenido es muy básico en ambos casos.
¿Puede ser así?
Saludos y gracias.