Declaración de caso de Oracle PL/SQL

Declaracion De Caso De Oracle Pl Sql



El flujo de control es uno de los principales bloques de construcción en la programación. Define el orden en el que se ejecutan los distintos bloques de código en un programa.

Como la mayoría de los lenguajes de programación, el lenguaje Oracle PL/SQL proporciona varias declaraciones de flujo de control, como IF-THEN, CASE, FOR, WHILE, etc.







En esta publicación, aprenderemos cómo trabajar con la instrucción CASE en PL/SQL para introducir el flujo de control en nuestras consultas de Oracle.



Introducción a la declaración CASE

La sentencia CASE le permite definir una secuencia de sentencias. La declaración del caso luego selecciona una secuencia para ejecutar en función de la condición especificada.



Piense en ello como una forma más eficiente de declarar un conjunto de bloques si-entonces mientras se preserva la legibilidad.





Podemos expresar la sintaxis de la instrucción CASE en Oracle como se muestra a continuación:

CASO
CUANDO condición1 ENTONCES resultado1
CUANDO condición2 ENTONCES resultado2
...
ELSE resultado
FINAL

La instrucción CASE evalúa cada condición en las cláusulas WHEN de esta sintaxis.



Si la declaración encuentra una declaración coincidente, devuelve el resultado coincidente. Sin embargo, en algunos casos, la declaración del caso puede no encontrar una condición coincidente. En tal escenario, la declaración ejecuta el resultado que se define en el bloque ELSE.

NOTA : El bloque ELSE es opcional. Si no está disponible, el motor de la base de datos utiliza la siguiente sintaxis:

MÁS:
LEVANTAR CASO_NO_ENCONTRADO;

Esto permite que el motor de la base de datos genere una excepción y pause la ejecución cuando no haya una condición coincidente.

Ejemplo 1: Ejemplo básico de sentencia CASE

Este ejemplo muestra un ejemplo de uso básico del operador de caso en Oracle:

declarar
número de edad;
entrada char(10);
empezar
edad := 24;
edad del caso
cuando 17 entonces
entrada := 'denegado';
cuando 24 entonces
entrada := '9.99';
cuando 45 entonces
entrada :='15.99';
más
entrada := 'no permitido';
caso final;
DBMS_OUTPUT.PUT_LINE(entrada);
final;

La ilustración proporcionada debe probar cualquier condición coincidente y devolver el estado correspondiente. Por ejemplo, dado que la condición coincidente es 24, la cláusula devuelve lo siguiente:

9.99

Ejemplo 2: instrucción CASE con una tabla de base de datos

Este ejemplo utiliza la instrucción case con una tabla de base de datos.

seleccione nombre, apellido, salario,
caso
cuando el salario 2500 entonces 'Alto'
más 'Desconocido'
terminar como salario_status
de EMPLEADOS;

La consulta proporcionada utiliza la declaración de caso para probar el rango de salario de la tabla de empleados.

El valor resultante es el que se muestra a continuación:

Conclusión

En esta publicación, aprendió cómo usar la declaración de caso de Oracle para probar las diversas condiciones y realizar una acción si una es verdadera.