Bucles PL/SQL

Bucles Pl Sql



Los bucles son uno de los principales bloques de construcción en la programación. Usamos bucles para crear bloques de código manejables que se pueden ejecutar varias veces cuando se cumple una determinada condición. Son el hueso fundamental a la hora de automatizar las tareas repetitivas sin reescribir un bloque de código varias veces.

Como todos los principales lenguajes de programación, PL/SQL admite bucles que permiten repetir un conjunto de instrucciones hasta que se cumpla una determinada condición.

En este tutorial, exploraremos el uso de la declaración LOOP en PL/SQL para ejecutar repetidamente un bloque de código.







Bucles de oráculo

El lenguaje PL/SQL admite varias construcciones de bucles, como bucles 'for' y bucles 'while'. Podemos expresar la sintaxis de un ciclo genérico en Oracle como se muestra a continuación:



<< etiqueta >> LAZO
sentencia_bucle;
FIN DEL CICLO loop_label;

Este contiene la palabra clave LOOP y el cuerpo del ciclo a ejecutar y se incluye con la palabra clave END LOOP.



El bloque LOOP ejecuta las acciones definidas y devuelve el control a la cláusula de bucle superior después de la finalización. Esto generalmente se incluye en una cláusula EXIT o EXIT WHEN para terminar el bucle después de que se cumpla una condición específica. Esto ayuda a prevenir los bucles infinitos.





Oracle para la sintaxis del bucle:

A continuación se muestra la sintaxis de un bucle 'for' en PL/SQL:

EMPEZAR
FOR loop_variable IN [límite_inferior..límite_superior] LOOP
-- código a ejecutar en el ciclo
FIN DEL BUCLE;
FINAL;

La loop_variable le permite definir un bucle que se utiliza para controlar el bucle y los límites inferior y superior. Los límites superior e inferior especifican los valores de rango en los que se produce la evaluación del bucle.



Ciclos while de Oracle

También podemos definir los bucles 'while' en PL/SQL como lo demuestra la siguiente sintaxis:

EMPEZAR
MIENTRAS condición BUCLE
-- acción de bucle
FIN DEL BUCLE;
FINAL;

En un bucle 'while', la acción del bucle se ejecuta repetidamente mientras la condición es verdadera.

Cursor de Oracle para bucles

Oracle también admite los bucles de 'cursor para' que nos permiten ejecutar un conjunto de instrucciones para cada fila en un conjunto de resultados determinado. La sintaxis se puede expresar de la siguiente manera:

EMPEZAR
FOR bucle_variable IN (SELECCIONAR columna1, columna2, ...
DESDE tabla1, tabla2, ...
DONDE condición) BUCLE
-- acción de bucle
FIN DEL BUCLE;
FINAL;

Bucles de ejemplo en Oracle

Los siguientes ejemplos cubren los aspectos básicos del trabajo con bucles de cursor for, while y for en Oracle.

Ejemplo de bucle For de Oracle:

Este ejemplo demuestra cómo usar un bucle 'for' para imprimir los números del 1 al 10.

EMPEZAR
PARA i EN 1..10 BUCLE
DBMS_SALIDA.PUT_LINE(i);
FIN DEL BUCLE;
FINAL;

Ejemplo de bucle while:

Podemos realizar una acción similar usando un bucle while como se muestra a continuación:

EMPEZAR
DECLARAR
i NUMERO := 1;
EMPEZAR
MIENTRAS i <= 10 BUCLE
DBMS_SALIDA.PUT_LINE(i);
yo := yo + 1;
FIN DEL BUCLE;
FINAL;
FINAL;

Esto debería realizar una acción similar al bucle 'for'.

Cursor para ejemplo de bucle:

A continuación, se muestra cómo usar el bucle 'cursor para' para obtener el nombre completo de un cliente:

EMPEZAR
PARA empleado EN (SELECCIONE nombre, apellido
DE empleados) BUCLE
DBMS_OUTPUT.PUT_LINE(empleado.nombre || ' ' || empleado.apellido);
FIN DEL BUCLE;
FINAL;

Salida de ejemplo:

Conclusión

En esta publicación, encontró tres tipos principales de bucles en el lenguaje Oracle PL/SQL. Puede consultar la documentación para explorar más.