Mostrando entradas con la etiqueta while. Mostrar todas las entradas
Mostrando entradas con la etiqueta while. Mostrar todas las entradas

sábado, 14 de junio de 2025

Curso de PL/SQL. Sentencia WHILE en PL/SQL de Oracle

La sentencia WHILE en PL/SQL es una estructura de control que permite ejecutar un bloque de código repetidamente mientras se cumpla una condición específica. Es muy útil cuando queremos realizar una serie de operaciones repetitivas hasta que se cumpla una condición de finalización.

¿Qué es la sentencia WHILE en PL/SQL?

La estructura WHILE se utiliza para ejecutar un bloque de código de manera repetitiva mientras una condición específica sea verdadera. Es una estructura de bucle controlado por condición, lo que significa que evalúa la condición al inicio de cada iteración. Si la condición es verdadera, el bloque de código se ejecuta; en caso contrario FALSE, el bucle se detiene y el flujo de control continúa con la siguiente instrucción después del bucle.

 

Sentencia WHILE en PL/SQL de Oracle

Sintaxis de WHILE en PL/SQL

La estructura básica de la sentencia WHILE en PL/SQL es la siguiente:

WHILE condición LOOP

    -- Instrucciones a ejecutar mientras la condición sea verdadera

END LOOP;

Componentes de la estructura WHILE

condición: Una expresión lógica (booleana) que se evalúa antes de cada iteración. Si esta condición es TRUE, el bucle continúa; si es FALSE, el bucle se detiene.

LOOP ... END LOOP: Define el bloque de código que se ejecutará en cada iteración.

Ejemplos Prácticos

A continuación, veremos algunos ejemplos para comprender cómo utilizar la sentencia WHILE en PL/SQL.

Ejemplo 1: Contador sencillo con WHILE

En este ejemplo, usaremos un contador que empieza en 1 y se incrementa en 1 en cada iteración del bucle hasta llegar a 5.

DECLARE

    contador NUMBER := 1;

BEGIN

    WHILE contador <= 5 LOOP

        DBMS_OUTPUT.PUT_LINE('Contador: ' || contador);

        contador := contador + 1;

    END LOOP;

END;

Explicación

1. Definimos una variable contador con un valor inicial de 1.

2. El bucle WHILE evalúa si el valor de contador es menor o igual a 5.

3. Si la condición es TRUE, imprime el valor actual del contador y luego lo incrementa en 1.

4. Una vez que contador supera 5, el bucle termina.

Este código imprimirá lo siguiente:

Contador: 1

Contador: 2

Contador: 3

Contador: 4

Contador: 5

Ejemplo 2: Sumar números del 1 al 10

Este ejemplo muestra cómo podemos utilizar WHILE para sumar los números del 1 al 10.

DECLARE

    suma NUMBER := 0;

    i NUMBER := 1;

BEGIN

    WHILE i <= 10 LOOP

        suma := suma + i;

        i := i + 1;

    END LOOP;

    DBMS_OUTPUT.PUT_LINE('La suma de los números del 1 al 10 es: ' || suma);

END;

Explicación

1. Inicializamos suma en 0, y i en 1.

2. El bucle se ejecuta mientras i sea menor o igual a 10.

3. En cada iteración, i se suma a suma, y luego incrementamos i en 1.

4. Cuando i alcanza 11, el bucle se detiene y el programa imprime el resultado.

Salida:

La suma de los números del 1 al 10 es: 55

Ejemplo 3: WHILE con una tabla de base de datos

En este ejemplo, supongamos que queremos iterar sobre los primeros 10 empleados de una tabla ficticia llamada EMPLEADOS, y queremos mostrar sus nombres. Vamos a utilizar WHILE para controlar el número de iteraciones.

DECLARE

    cursor empleados_cur IS

        SELECT first_name FROM empleados;

    nombre_empleado VARCHAR2(50);

    contador NUMBER := 1;

BEGIN

    OPEN empleados_cur;

    WHILE contador <= 10 LOOP

        FETCH empleados_cur INTO nombre_empleado;

        EXIT WHEN empleados_cur%NOTFOUND;  -- Salir del bucle si no hay más registros

        DBMS_OUTPUT.PUT_LINE('Empleado ' || contador || ': ' || nombre_empleado);

        contador := contador + 1;

    END LOOP;

    CLOSE empleados_cur;

END;

Explicación

1. Definimos un cursor empleados_cur para obtener los nombres de los empleados.

2. Inicializamos contador en 1.

3. Abrimos el cursor y utilizamos FETCH dentro del bucle WHILE para obtener un registro en cada iteración.

4. Con EXIT WHEN empleados_cur%NOTFOUND, salimos del bucle si ya no hay registros que obtener.

5. El contador limita el bucle a los primeros 10 empleados, evitando que el bucle continúe indefinidamente.

Este código imprimirá los nombres de los primeros 10 empleados.

Consideraciones Importantes al Usar WHILE en PL/SQL

1. Condiciones infinitas: Asegúrate de que la condición del WHILE eventualmente se volverá FALSE para evitar bucles infinitos. Una condición infinita puede hacer que el programa nunca termine.

2. Incrementos dentro del bucle: Si estás usando una variable de control (como el contador en los ejemplos), asegúrate de incrementarla dentro del bucle para que se cumpla la condición de salida.

3. Manejo de cursores: Cuando trabajes con cursores dentro de un WHILE, es importante recordar cerrar el cursor después de terminar el bucle.

Conclusión

La sentencia WHILE en PL/SQL es una poderosa herramienta para ejecutar operaciones repetitivas mientras se cumpla una condición. Nos permite iterar sobre valores, realizar cálculos, y manipular datos de forma controlada. Los ejemplos en este artículo te dan una base para entender y aplicar el bucle WHILE en tus proyectos con PL/SQL.


sábado, 22 de enero de 2022

Curso avanzado de C#: Instrucciones While

La instrucción while actúa de forma similar a la instrucción for porque  permite ejecutar una instrucción o conjunto de instrucciones repetidamente hasta que se cumpla una condición ( y devuelve falso). La forma más fácil de  comprender la declaración while es: "mientras la condición permanezca verdadera, ejecuta el ciclo".

// Sintaxis de while
while(condicion) { intrucciones; }

La instrucción while comienza con la palabra clave while, entre paréntesis la condición de  prueba. Si la condición devuelve verdadero, se ejecutarán las instrucciones incluidas en las llaves. Cuando la condición devuelve falso, la ejecución cae en la línea de código después de la llave de cierre de la declaración.

int Valor = 0;
while (Valor < 10)
{
      Console.WriteLine(Valor);
      Valor++;
}

El código anterior establece la variable valor a 0. El ciclo while prueba la condición para ver si valor es menor que 10. En este caso, 0 es menor que 10, por lo que el ciclo while se ejecuta y muestra el valor de valor en la ventana de la consola. Después  incrementa  en 1 la condición de bucle y verifica nuevamente, el ciclo se ejecuta  de nuevo porque valor es igual a 1, que es aún inferior a 10. 

Instrucción While de C#

sábado, 29 de julio de 2017

Curso de C#: control de flujo, estructuras iterativas

Bucles For 


Los bucles for van asignando valores a una variable desde un valor inicial hasta un valor final, y cuando la variable contiene un valor que está fuera del intervalo el bucle termina.

for (var=inicial;condición;siguientevalor)
{
    Instrucciones
}

CURSO DE C#: control de flujo, estructuras iterativas