next up previous contents index
Next: Triggers Up: Aserciones Previous: Condicionales.   Índice General   Índice de Materias

Ciclos.

Existen varios tipos de ciclos:

[<<etiqueta>>]
LOOP
    aserciones
END LOOP;

Es un ciclo incondicional que deberá ser terminado explícitamente con una aserción EXIT. La etiqueta opcional puede ser usada por las aserciones EXIT de ciclos anidados para especificar que nivel de anidamiento debe ser terminado.

[<<etiqueta>>]
WHILE expresion LOOP
    aserciones
END LOOP;

Es un ciclo condicional que es ejecutado mientras que la evaluación de la expresión sea verdadera.

[<<etiqueta>>]
FOR nombre IN [ REVERSE ] expresion .. expresion LOOP
    aserciones
END LOOP;

Es un ciclo que itera sobre un rango de valores enteros. La variable nombre es creada automáticamente con tipo entero y existe sólo al interior del ciclo. Las dos expresiones dan los límites inferior y superior del rango en que habrá de ser evaluada la variable y sólo se calculan al iniciar el ciclo. El paso de iteración siempre es uno.

[<<etiqueta>>]
FOR registro | renglon IN clausula_de_seleccion LOOP
    aserciones
END LOOP;

Al registro o renglón le será asignado cada uno de los renglones resultantes de la cláusula de selección. Si el ciclo termina con una aserción EXIT, el último renglón asignado es aún accesible al terminar el ciclo.

EXIT [ etiqueta ] [ WHEN expresion ];

Si no se dá una etiqueta, el ciclo interior será terminado y la acción a continuación de la secuencia END LOOP será ejecutada a continuación. Si la etiqueta es dada, deberá ser la etiqueta del nivel actual o de un nivel exterior de anidamiento de bloques de ciclo. En este caso el ciclo invocado por la etiqueta termina y el control es pasado a la siguiente aserción a continuación del final de ciclo o bloque indicado por la etiqueta.


next up previous contents index
Next: Triggers Up: Aserciones Previous: Condicionales.   Índice General   Índice de Materias
Ismael Olea 2001-04-21