lunes, 10 de junio de 2019

Estructura de control IF en PL/SQL - Oracle

El día de hoy trabajando con un script pl/sql me vi en la necesidad de implementar una sentencia de tipo "switch", sin embargo no soy programador pl/sql, por lo que fui con un camarada que si lo es y me explico un poco del tema, buscando más en Internet encontré la guía oficial de Oracle y comparto de manera resumida y en español la información en caso de que a alguien más le pueda ser de utilidad.

De acuerdo al "structure theorem" cualquier programa de computadora se puede escribir utilizando las estructuras básicas de control de acuerdo a la ilustración que se muestra abajo. Estas pueden ser combinadas de cualquier manera necesaria para poder resolver un problema.

Text description of pls81008_control_structures.gif follows

A continuación en listo los ejemplos de las estructuras que podemos utilizar en PL/SQL:

Sentencia IF-THEN


La forma más simple de la sentencia "IF" asocia una condición con una secuencia de sentencias encerradas en un bloque con las palabras "IF" y "END IF":

IF condition THEN
     sequence_of_statements
END IF;

Sentencia IF-THEN-ELSE

La segunda forma de la sentencia "IF" añade la palabra clave "ELSE" para indicar una secuencia alternativa de sentencias:

IF condition THEN
     sequence_of_statements
ELSE
     sequence_of_statements2

END IF;

Sentencia IF-THEN-ELSIF

Cuando se requiere especificar más casos en un flujo de condiciones se utiliza la tercera forma de la sentencia "IF", mediante la palabra  "ELSIF" (No ELSEIF), en este caso también la sentencia "ELSE" se vuelve opcional.

IF condition THEN
     sequence_of_statements
ELSIF condition 2 THEN

     sequence_of_statements2
ELSE
     sequence_of_statements3


END IF;

https://docs.oracle.com/cd/B10500_01/appdev.920/a96624/04_struc.htm