Si aprendes como se debe utilizar correctamente la sentencia CASE podrás tomar decisiones rápidamente dentro de tus PL-SQL Packages en Oracle.
La sentencia CASE, como su nombre lo indica, te permite evaluar casos o distintas condiciones realizando operaciones diferentes para cada uno de ellos en tus PL-SQL Packages en Oracle.
La sentencia CASE se puede usar de dos formas distintas en tus PL-SQL Packages en Oracle, la primera te permite evaluar la igualdad de una variable y la segunda te permite evaluar condiciones de cualquier tipo.
Revisemos como es la sintaxis de la sentencia CASE en tus PL-SQL Packages en Oracle:
CASE [valor_a_comparar]
WHEN [valor1 | condicion1] THEN {sentencias;}
WHEN [valor2 | condicion2] THEN {sentencias;}
:
ELSE {sentencias};
END CASE;
Donde:
CASE= Permite declarar una sentencia CASE en tus PL-SQL Packages en Oracle.
Valor_a_comparar= Corresponde al valor de una variable o campo que se quiere evaluar.
WHEN= Permite definir los distintos valores o condiciones que serán evaluados dentro del CASE.
Valor= Corresponde al valor con el cual será comparado el valor_a_comparar dentro del WHEN.
Condicion= Permite definir una condición para que sea evaluada por en WHEN.
THEN= Permite terminar la definición de valores o condiciones dentro del WHEN.
Sentencias= Corresponde a las sentencias que se ejecutarán si la condición definida en el WHEN es verdadera.
ELSE= Permite definir un caso contrario cuando no se cumple ninguna de las condiciones definidas en el WHEN.
END CASE= Permite cerrar la declaración de la sentencia CASE en tus PL-SQL Packages en Oracle.
TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
Veamos ahora un ejemplo para que entiendas mejor como se debe utilizar la sentencia CASE en tus PL-SQL Packages en Oracle.
Ejemplo #1: Supone que debes evaluar la edad de un empleado, veamos como se hace:
/* PL-SQL Packages en Oracle */
CASE lin_edad
When 25 Then lin_porcentaje:= 10;
When 30 Then lin_porcentaje:= 15;
When 35 Then lin_porcentaje:= 17;
Else lin_porcentaje:= 5;
END CASE;
En este ejemplo se esta evaluando el valor de la variable lin_edad en tus PL-SQL Packages en Oracle usando la primera forma del CASE y se asigna un distinto porcentaje dependiendo de la edad del empleado. Esta primera forma es muy util cuando necesitas evaluar igualdades de datos.
Ejemplo #2: Veamos ahora el mismo ejemplo anterior pero aplicando la segunda forma del CASE, revisemos como se hace:
/* PL-SQL Packages en Oracle */
CASE
When lin_edad <= 25 Then lin_porcentaje:= 10;
When lin_edad >= 30 Then lin_porcentaje:= 15;
When lin_edad >= 35 and lin_edad <= 40 Then lin_porcentaje:= 17;
Else lin_porcentaje:= 5;
END CASE;
En este ejemplo se pueden aplicar mas condiciones dentro de la cláusula WHEN, esta segunda forma del CASE es mas flexible que la primera en tus PL-SQL Packages en Oracle.
Te propongo que pruebes de inmediato estos ejemplos en tu Base de Datos con tus propias tablas, PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica en tus PL-SQL Packages en Oracle.
Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL-SQL Packages en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Packages en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.
Saludos
Roberto Vicencio - Para Tu Éxito con Oracle.
Director del Curso “Domina Tus Packages En Oracle“
No es muy entendible
Hola Abc, gracias por comunicarte, indicame por favor que fue lo que no entediste para ayudarte, gracias.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle