Sentencia LEAVE

La sentencia LEAVE detiene la iteración actual de la sentencia WHILE, REPEAT, LOOP o BEGIN que la contiene identificada mediante Etiqueta.

Se omite la evaluación de la condición de bucle (si existe) de la sentencia que la contiene y el bucle se detiene.

SINTAXIS

Ejemplos

En el ejemplo siguiente, el bucle se itera cuatro veces:
DECLARE i INTEGER;
SET i = 1;
X : REPEAT 
  ...
  IF i >= 4 THEN
    LEAVE X;
  END IF;

  SET i = i + 1;
UNTIL
  FALSE
END REPEAT;
No es necesario que las sentencias LEAVE estén contenidas directamente en su sentencia con Label, lo que hace que las sentencias LEAVE resulten especialmente útiles.
DECLARE i INTEGER;
SET i = 0;
X : REPEAT                   -- Bucle externo
  ...
  DECLARE j INTEGER;
  SET j = 0;
  REPEAT                     -- Bucle interno
    ...
    IF i >= 2 AND j = 1 THEN
      LEAVE X;               -- Bucle externo restante del bucle interno
    END IF;
    ...
    SET j = j + 1;
  UNTIL
    j >= 3
  END REPEAT;

  SET i = i + 1;
UNTIL
  i >= 3
END REPEAT X;
                             -- Después de LEAVE la ejecución se reanuda aquí
Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
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
ak05070_