Declaración de caso Oracle PL/SQL

Declaración de caso Oracle PL/SQL

El flujo de control es uno de los principales bloques de construcción en la programación. Define el orden en que se ejecutan los diversos 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, para, etc.

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

Introducción a la declaración del caso

La declaración de caso le permite definir una secuencia de declaraciones. La declaración de 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 if-then mientras preserva la legibilidad.

Podemos expresar la sintaxis de la declaración de caso en Oracle como se muestra en lo siguiente:

CASO
Cuando la condición1 entonces result1
Cuando la condición2 entonces result2

El otro resultado
FIN

La declaración de caso evalúa cada condición en las cláusulas cuando en 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 de los demás.

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

DEMÁS:
Elevar case_not_found;

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

Ejemplo 1: Declaración de caso Ejemplo básico

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

declarar
número de edad;
Entrada char (10);
comenzar
edad: = 24;
edad de casos
Cuando 17 entonces
Entrada: = 'denegado';
Cuando 24 entonces
Entrada: = '9.99 ';
Cuando 45 entonces
Entrada: = '15.99 ';
demás
Entrada: = 'no permitido';
caso final;
Dbms_output.Put_line (entrada);
fin;

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

9.99

Ejemplo 2: Declaración de caso con una tabla de base de datos

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

Seleccione First_Name, Last_Name, Salario,
caso
Cuando el salario 2500 entonces 'alto'
de lo contrario 'desconocido'
FIN AS SALARY_STATUS
de los empleados;

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

El valor resultante es como se muestra en lo siguiente:

Conclusión

En esta publicación, aprendió cómo usar la instrucción Oracle Case para probar las diversas condiciones y realizar una acción si uno es verdadero.