En este artículo voy a mencionar las opciones que ofrece PLSQL para:
- Controlar las acciones a realizar dependiendo de una o varias condiciones.
- Controlar una secuencia de operaciones iterativa.
- Controlar la secuencia de ejecución del programa.
Control condicional
Comando IF
Permite ejecutar unas sentencias u otras dependiendo de que se cumplan o no las condiciones indicadas en la sentencia.
IF -- Condición THEN -- Sentencias
ELSIF -- Condición THEN -- Sentencias
ELSE -- Sentencias
END IF;
Control de iteraciones
Comando LOOP
El bucle se ejecuta continuamente hasta que dentro del bucle se ejecuta la sentencia EXIT. Parece lógico pensar que dentro del bucle se debe incluir una sentencia IF para determinar cuando se debe salir del bucle.
LOOP
-- Sentencias
END LOOP;
Comando WHILE
El bucle se ejecuta de forma continua mientra que la condición del WHILE sea verdadera. También se puede salir del bucle utilizando la sentencia EXIT.
WHILE -- Condición
LOOP
-- Sentencias
END LOOP;
Comando FOR
En el siguiente ejemplo el bucle se ejecutará 10 veces y la variable i se incrementará en una unidad en cada ejecución del bucle. También se puede salir del bucle utilizando la sentencia EXIT.
FOR i IN 1..10
LOOP
-- Sentencias
END LOOP;
Control secuencial
Comando GOTO
Este comando está en desuso y la mayoría de los programadores expertos recomienda que no se utilice. En el ejemplo que propongo, el primer conjunto de sentencias no se ejecutarían ya que el GOTO está diciendo que se reanude la ejecución desde la etiqueta X.
GOTO X;
-- Primer conjunto de sentencias
<< X >>
-- Segundo comjunto de sentencias
Como os habréis dado cuenta el ejemplo propuesto carece de lógica, ¿para qué incluir un grupo de sentencias que nunca se va a ejecutar?, por lo que el comando GOTO siempre debe estar incluido dentro de un comando IF o de algún otro tipo de control condicional.
2 comentarios:
buen dia pepelu
actualmente me encuentro trabajando en un paquete con varios procedimiento, y se me es mecerario que cuando alguno de una excepcion este se tremine
Joelvin,
Si durante la ejecución de un programa PL/SQL, se produce un excepción que no está controlada en el bloque de excepciones, el programa termina automáticamente.
Publicar un comentario