La sentencia LOOP ejecuta una secuencia de sentencias de manera repetida e incondicional.
Asegúrese de que la lógica del programa proporciona los medios de interrumpir el bucle. Puede utilizar sentencias LEAVE o RETURN.
Si está presente, Etiqueta suministra un nombre a la sentencia. Esto no tiene ningún efecto en el comportamiento de la sentencia LOOP, pero permite que las sentencias incluyan sentencias ITERATE y LEAVE u otras sentencias etiquetadas, que a su vez incluyen ITERATE y LEAVE. La segunda Etiqueta sólo puede estar presente si la primera Etiqueta está presente y, en este caso, las etiquetas deben ser idénticas.
Dos o más sentencias etiquetadas en el mismo nivel pueden tener la misma Etiqueta, pero esto niega parcialmente la ventaja de la segunda Etiqueta. La ventaja es que coinciden, de manera precisa y no ambigua, cada END con su LOOP. Sin embargo, una sentencia etiquetada dentro de sentencias no puede tener la misma etiqueta, porque esto hace que el comportamiento de las sentencias ITERATE y LEAVE sea ambiguo.
La sentencia LOOP es útil en los casos en que la lógica necesaria dicta que siempre se sale a mitad de recorrido de un bucle. Esto se debe a que, en estos casos, la prueba de una condición de bucle que se produce en sentencias REPEAT o WHILE es innecesaria y un derroche.
DECLARE i INTEGER; SET i = 1; X : LOOP ... IF i >= 4 THEN LEAVE X; END IF; SET i = i + 1; END LOOP X;
Conceptos relacionados
ESQL
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Preferencia de sintaxis
Sentencias ESQL
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak05080_ |