Sentencia WHILE

La sentencia WHILE evalúa una expresión de condición y si es TRUE ejecuta una secuencia de sentencias.

SINTAXIS

La sentencia WHILE repite los pasos especificados en DO siempre que condición sea TRUE. Es su responsabilidad asegurarse de que la lógica del programa sea tal que finalice el bucle. Si condición se evalúa en UNKNOWN, el bucle finaliza de inmediato.

Si está presente, Label proporciona un nombre a la sentencia. Esto no tiene efecto alguno en el comportamiento de la sentencia WHILE, pero permite que las sentencias incluyan sentencias ITERATE y LEAVE u otras sentencias con Label que, a su vez, las incluyen. Label sólo puede aparecer por segunda vez si existe un primer Label y, de ser así, ambos deben ser idénticos. Dos o más sentencias con Label al mismo nivel pueden tener el mismo Label pero esto niega en parte la ventaja del segundo Label. La ventaja es que ambos Label hacen que cada END coincida con su WHILE. No obstante, una sentencia que contiene Label en sentencias no puede tener el mismo Label, esto es un error porque hace que el comportamiento de las sentencias ITERATE y LEAVE sea ambiguo.

Ejemplo

Por ejemplo:
DECLARE i INTEGER;
SET i = 1;
X : WHILE i <= 3 DO
  ...
  SET i = i + 1;
  END WHILE X;
Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
Creación de referencias de campo dinámicas
Referencia relacionada
Diagramas de sintaxis: tipos disponibles
Sentencias ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ak05170_