Si aprendes a utilizar las variables de tipo BOOLEAN en tus PL-SQL Procedures en Oracle podrás escribir código más rápidamente para tomar decisiones dentro de la lógica de tus procesos, permitiéndote escribir una menor cantidad de código fuente, sin tener que duplicarlo, manteniendo un código limpio y ordenado.
Las variables de tipo BOOLEAN te permiten guardar valores lógicos, es decir, un valor verdadero (TRUE) o un valor falso (FALSE) y puedes preguntar por este valor lógico dentro de cualquier expresión lógica como un IF o un CASE en tus PL-SQL Procedures en Oracle.
Las variables BOOLEAN son de mucha utilidad cuando tienes que manejar dos tipos de estados o un switch, como por ejemplo, encendido o apagado. Revisemos algunos ejemplos para que entiendas mejor como se deben utilizar las variables de tipo BOOLEAN en tus PL-SQL Procedures en Oracle.
Ejemplo #1: Supone que debes tomar una decisión para saber si un proceso debe continuar o detenerse, veamos como se hace de forma tradicional y con variables BOOLEAN:
Forma Tradicional:
/* PL-SQL Procedures en Oracle */
Begin
If pin_id_empleado > 0 and pin_id_departamento > 0
and pin_edad between 20 and 30 then
< procesar los datos … >
end if;
— Actualizar estado del proceso
/* PL-SQL Procedures en Oracle */
If pin_id_empleado > 0 and pin_id_departamento > 0
and pin_edad between 20 and 30 then
update t_proceso set ind_estado=1 — 1=ejecutado
where id_proceso = 101;
else
update t_proceso set ind_estado=0 — 0=no ejecutado
where id_proceso = 101;
end if;
End;
En este ejemplo se esta haciendo un if principal para saber si se deben procesar los datos, mas adelante al final del proceso se actualiza un estado en la tabla t_proceso y se vuelve a realizar el mismo if, aquí se esta duplicando el código fuente en los PL-SQL Procedures en Oracle.
TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
Forma utilizando una variable BOOLEAN:
/* PL-SQL Procedures en Oracle */
lbo_Ejecutar_Proceso Boolean;
Begin
lbo_Ejecutar_Proceso:= False;
If pin_id_empleado > 0 and pin_id_departamento > 0
and pin_edad between 20 and 30 then
lbo_Ejecutar_Proceso:= True;
end if;
id lbo_Ejecutar_Proceso = True Then
< procesar los datos … >
end if;
— Actualizar estado del proceso
/* PL-SQL Procedures en Oracle */
If lbo_Ejecutar_Proceso = True then
update t_proceso set ind_estado=1 — 1=ejecutado
where id_proceso = 101;
else
update t_proceso set ind_estado=0 — 0=no ejecutado
where id_proceso = 101;
end if;
End;
En este ejemplo se declara la variable lbo_Ejecutar_Proceso de tipo BOOLEAN, la que se inicializa con el valor FALSE y si se cumple la condición se actualiza con el valor TRUE. De esta forma el if se realiza solo una vez y se guarda el resultado en una variable lógica, evitando que se duplique el código fuente. Esto también permite que el código fuente de tus PL-SQL Procedures en Oracle se pueda mantener fácilmente.
Te propongo que pruebes de inmediato este ejemplo en tu Base de Datos con tus propios PL-SQL Procedures en Oracle (procedimientos) y PL-SQL Function en Oracle (funciones), para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica.
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 Procedures en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Procedures en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.
Saludos
Roberto Vicencio – Escritor del Reporte:
“Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”