Estructuras de control en PL/SQL
Estrcuturas de control de flujo
En PL/SQL solo disponemos de la estructura condicional IF. Su sintaxis se muestra a continuación:
IF (expresion) THEN
-- Instrucciones
ELSIF (expresion) THEN
-- Instrucciones
ELSE
-- Instrucciones
END IF; |
Un aspecto a tener en cuenta es que la instrucción condicional anidada es ELSIF y no "ELSEIF".
Sentencia GOTO
PL/SQL dispone de la sentencia GOTO. La sentencia GOTO desvia el flujo de ejecució a una determinada etiqueta.
En PL/SQL las etiquetas se indican del siguiente modo: << etiqueta >>
El siguiente ejemplo ilustra el uso de GOTO.
DECLARE flag NUMBER; BEGIN flag :=1 ; IF (flag = 1) THEN GOTO paso2; END IF; <<paso1>> dbms_output.put_line('Ejecucion de paso 1'); <<paso2>> dbms_output.put_line('Ejecucion de paso 2'); END;
|
Bucles
En PL/SQL tenemos a nuestra disposición los siguientes iteradores o bucles:
El bucle LOOP, se repite tantas veces como sea necesario hasta que se fuerza su salida con la instrucción EXIT. Su sintaxis es la siguiente
LOOP
-- Instrucciones
IF (expresion) THEN
-- Instrucciones
EXIT;
END IF;
END LOOP;
|
El bucle WHILE, se repite mientras que se cumpla expresion.
WHILE (expresion) LOOP
-- Instrucciones
END LOOP;
|
El bucle FOR, se repite tanta veces como le indiquemos en los identificadores inicio y final.
FOR contador IN [REVERSE] inicio..final LOOP
-- Instrucciones
END LOOP;
|
En el caso de especificar REVERSE el bucle se recorre en sentido inverso.