PL/SQL – IF-THEN: Control de Flujo Condicional en Tus Programas

PL/SQL – IF-THEN: Control de Flujo Condicional en Tus Programas

La sentencia IF-THEN en PL/SQL es una herramienta fundamental para el control de flujo condicional. Permite ejecutar bloques de código específicos en función del resultado de una condición lógica. Con la capacidad de tomar decisiones y modificar el flujo de ejecución de un programa, la sentencia IF-THEN te da un control más preciso sobre la lógica de tu código.

Estructura Básica de IF-THEN

La estructura básica de la sentencia IF-THEN en PL/SQL se define de la siguiente manera:

sql
IF condición THEN
instrucciones;
END IF;

En esta estructura:

  • condición: Es una expresión booleana o relacional que se evalúa para determinar si es VERDADERA o FALSA. Ejemplos comunes incluyen comparaciones entre variables (por ejemplo, edad > 18), comprobaciones de valores (por ejemplo, nombre = 'Juan'), o resultados de funciones (por ejemplo, existe_registro(id) = TRUE).

  • instrucciones: Son uno o más comandos de PL/SQL que se ejecutarán si la condición es VERDADERA. Estos pueden ser comandos simples como la asignación de valores a variables, la manipulación de datos en tablas, la llamada a procedimientos almacenados, o incluso sentencias de control de flujo más complejas.

Ejemplos de IF-THEN

Ejemplo 1: Validación de Edad

sql
DECLARE
edad NUMBER := 15;
BEGIN
IF edad < 18 THEN
DBMS_OUTPUT.PUT_LINE('Eres menor de edad.');
END IF;
END;
/

En este ejemplo, la variable edad se inicializa con el valor 15. La condición edad < 18 es VERDADERA, por lo que se ejecuta la instrucción DBMS_OUTPUT.PUT_LINE('Eres menor de edad.');. Si edad fuera mayor o igual a 18, la condición sería FALSA y no se ejecutaría la instrucción dentro del bloque IF-THEN.

LEER:  Eclipse para Java: Guía Completa para Principiantes

Ejemplo 2: Actualización Salarial

«`sql
DECLARE
idempleado NUMBER := 1234;
salario NUMBER;
BEGIN
SELECT salario INTO salario
FROM empleados
WHERE id = id
empleado;

IF salario < 2000 THEN
    UPDATE empleados
    SET salario = salario * 1.10
    WHERE id = id_empleado;

    DBMS_OUTPUT.PUT_LINE('Salario actualizado.');
END IF;

END;
/
«`

Este ejemplo ilustra el uso de IF-THEN para tomar decisiones basadas en datos de una tabla. Se consulta la tabla empleados para obtener el salario del empleado con el id_empleado especificado. Si el salario es menor que 2000, se actualiza el salario incrementándolo en un 10%. En caso contrario, no se realiza ninguna acción.

Sentencia IF-THEN-ELSE

La sentencia IF-THEN-ELSE extiende la funcionalidad de IF-THEN al proporcionar un bloque de código alternativo que se ejecutará si la condición es FALSA. Su estructura es la siguiente:

sql
IF condición THEN
instrucciones_si_verdadera;
ELSE
instrucciones_si_falsa;
END IF;

Ejemplo: Condicionales para la Edad

sql
DECLARE
edad NUMBER := 25;
BEGIN
IF edad < 18 THEN
DBMS_OUTPUT.PUT_LINE('Eres menor de edad.');
ELSE
DBMS_OUTPUT.PUT_LINE('Eres mayor de edad.');
END IF;
END;
/

En este caso, si edad es menor que 18, se ejecutará la instrucción DBMS_OUTPUT.PUT_LINE('Eres menor de edad.');. Si edad es mayor o igual a 18, se ejecutará la instrucción DBMS_OUTPUT.PUT_LINE('Eres mayor de edad.');.

Sentencia IF-THEN-ELSIF

La sentencia IF-THEN-ELSIF permite evaluar múltiples condiciones en secuencia. Si una condición es VERDADERA, se ejecutarán las instrucciones asociadas y el resto de las condiciones se ignorarán.

sql
IF condición1 THEN
instrucciones1;
ELSIF condición2 THEN
instrucciones2;
ELSIF condición3 THEN
instrucciones3;
END IF;

Ejemplo: Rangos de Edad

sql
DECLARE
edad NUMBER := 35;
BEGIN
IF edad < 18 THEN
DBMS_OUTPUT.PUT_LINE('Eres menor de edad.');
ELSIF edad BETWEEN 18 AND 65 THEN
DBMS_OUTPUT.PUT_LINE('Eres adulto.');
ELSE
DBMS_OUTPUT.PUT_LINE('Eres mayor de edad.');
END IF;
END;
/

En este ejemplo, se evalúan tres condiciones para determinar el rango de edad. Si edad es menor que 18, se muestra el mensaje «Eres menor de edad». Si edad está entre 18 y 65, se muestra «Eres adulto». Si ninguna de las condiciones anteriores es VERDADERA, se muestra «Eres mayor de edad».

LEER:  Robótica e IA: El futuro de la automatización inteligente

Buenas Prácticas para IF-THEN

  • Claridad y Legibilidad: Escribe código que sea fácil de entender, especialmente para if-then y if-then-else, usando un formato consistente para la sangría y espacios en blanco.

  • Consistencia: Utiliza un formato consistente para la sangría y el estilo del código en todas las sentencias if-then.

  • Evita Complejidad Innecesaria: Divide sentencias complejas en varias más pequeñas para facilitar la comprensión y el mantenimiento.

  • Comprueba las Condiciones: Verifica las condiciones de tus sentencias if-then para asegurarte de que se comportan como esperas.

Conclusión

La sentencia IF-THEN es un componente esencial de la programación en PL/SQL. Te permite crear lógica de decisión flexible y controlar el flujo de ejecución de tus programas. Con un manejo adecuado de las condiciones y una estructura bien organizada, puedes aprovechar al máximo la capacidad de IF-THEN para implementar algoritmos robustos y eficientes en tus aplicaciones de base de datos.