Introducción a los bucles en PL / SQL

Lenguaje de procedimiento / Lenguaje de consulta estructurado o PL / SQL es la extensión de procedimiento de Oracle Corporation para Oracle RDBMS. PL / SQL extendió SQL al agregar construcciones usadas en lenguajes de procedimiento para permitir una programación más compleja que la que proporciona SQL. Ejemplos de estas estructuras son IF … THEN … ELSE, bucles básicos, bucles FOR y bucles WHILE.

Explicar diferentes tipos de bucles en PL / SQL

Este artículo le explicará que la estructura de control iterativa significa bucles de PL / SQL; te permitirá ejecutar el mismo código repetidamente. PL / SQL proporciona tres tipos diferentes de tipos de bucle:

  • El bucle simple o infinito
  • El bucle FOR
  • El ciclo WHILE

Aquí, cada ciclo está diseñado para un propósito específico, reglas de uso y pautas para la creación de alta calidad.

Ejemplos de diferentes bucles

Considere los siguientes tres procedimientos para comprender los diferentes bucles y su capacidad de resolución de problemas de diferentes maneras.

1. El bucle simple

Este bucle es tan simple como su nombre. Comienza con la palabra clave LOOP y termina con la declaración final "END LOOP".

Sintaxis

LOOP
The sequence of statements;
END LOOP;

Aquí, según la palabra clave de sintaxis anterior, 'LOOP' marca el inicio del bucle y 'END LOOP' indica el final del bucle. La secuencia de la parte de la declaración puede contener cualquier declaración para su ejecución.

Ejemplo de bucle simple

Escribamos un programa para imprimir la tabla de multiplicar de 18.

Aquí en el bucle anterior, no tenemos la declaración "EXIT"; significa que la ejecución de salida continuará hasta infinito hasta que cerremos este programa manualmente.

Consulte el siguiente programa con la declaración de salida:

Explicación del programa anterior.

En la sección de declaración, hemos declarado dos variables; La variable v_counter servirá como contador y v_result contendrá el resultado de la multiplicación.

En la sección de ejecución, tenemos nuestro bucle simple, aquí tenemos tres declaraciones.

  • La primera declaración funcionará como nuestra declaración de actualización; Esto actualizará nuestro contador y lo incrementará en 1.
  • La segunda declaración es una expresión aritmética, que realizará la multiplicación de nuestra tabla y almacenará el resultado en la variable v_result.
  • La tercera declaración es una declaración de salida, que imprimirá el resultado de la multiplicación de forma formateada.

Uso de la declaración de salida

De acuerdo con la declaración de salida si v_counter> = 10, haga un ciclo con una salida, lo que significa que el ciclo se ejecutará 10 veces.

Salida:

2. El bucle FOR

El bucle FOR le permite ejecutar el bloque de declaraciones repetidamente durante un número fijo de veces.

Sintaxis

FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;

  • La primera línea de la sintaxis es la instrucción de bucle donde las palabras clave FOR marcan el comienzo del bucle seguido del contador de bucle, que es una variable de índice entero implícito.
  • Esto significa que no necesita definir esta variable en la sección de declaración, también se incrementará en 1 implícitamente en cada iteración de su bucle, a diferencia de los otros bucles donde tenemos que definir el contador de bucles.
  • La palabra clave IN es imprescindible para estar en el programa FOR Loop.
  • La palabra clave REVERSE no es obligatoria, pero siempre se usa junto con la palabra clave IN.
  • Si se usa la palabra clave REVERSE, el ciclo iterará en el orden inverso.
  • lower_limit y upper_limit son dos números enteros. Estas dos variables definen una serie de iteraciones del bucle.
  • Dos puntos entre estas dos variables sirven como operador de rango.
  • Luego tenemos el cuerpo del ciclo, que puede ser una declaración o un grupo de declaraciones.
  • Al final, tenemos la frase END LOOP que indica el final del ciclo.

Ejemplo 1

Aquí según el programa anterior, tenemos nuestro bucle FOR que imprimirá el valor de la variable v_counter de 11 a 20.

Salida:

Ejemplo # 2: Ahora imprimimos lo mismo en orden inverso usando el bucle FOR.

Simplemente agregue la palabra clave REVERSE después de IN y antes de 11, esto ejecutará la misma o / p pero en orden inverso.

3. El ciclo WHILE

Si bien el bucle ejecuta varias veces las instrucciones del programa, también es mejor usarlo cuando no se desconoce ninguna iteración.

Sintaxis

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • A diferencia de otra sintaxis WHILE loop, la sintaxis es muy fácil de entender. Aquí, según la sintaxis anterior, 'WHILE' marca el comienzo del ciclo junto con la condición y 'END LOOP' indica el final del ciclo.
  • Las declaraciones 1 a N son las declaraciones ejecutables, definidas en el cuerpo del bucle. Además, al final, hemos mencionado END LOOP que indica el final del ciclo while.
  • Para ejecutar declaraciones dentro del cuerpo del bucle While, la condición debe ser verdadera.

Ejemplo: Imprime la tabla de multiplicación de 17 usando el ciclo while.

  • En este ejemplo, tenemos la primera variable "v_counter" que servirá como contador y la segunda variable es "v_result", esto contendrá el resultado de la multiplicación.
  • Aquí, la primera instrucción es una expresión aritmética dentro del ciclo WHILE, que realizará la tarea de multiplicación de tablas y el resultado, se almacenará en v_result.
  • La segunda declaración es la declaración de impresión, que imprimirá los resultados de la multiplicación. La tercera declaración es el contador de actualizaciones, que actualizará el contador con cada iteración.
  • Este ciclo while seguirá funcionando hasta que tengamos un valor de contador mayor o igual a 10 y WHILE el ciclo terminará después del valor de contador 10.

Salida:

Ventajas de los bucles en PL / SQL

  • La reutilización del código es la mejor ventaja de los bucles, no necesitamos escribir código repetidamente para cada iteración, usando bucles podemos reutilizar el código en cada iteración.
  • Los bucles también nos ayudan a reducir el tamaño del código o el tamaño del programa. Todo lo que tenemos que hacer es escribir un código simple y ponerlo dentro de cualquier bucle para completar el trabajo sin codificar diferentes salidas del mismo programa.
  • La reducción de la complejidad también ha agregado la ventaja de los bucles.

Conclusión: bucles en PL / SQL

SQL es la única interfaz para una base de datos relacional, y PL / SQL es una extensión de procedimiento para SQL. Es importante comprender cómo funciona SQL y diseñar bases de datos y lógica de negocios correctamente para obtener el conjunto de resultados correcto. PL / SQL se puede usar dentro de la base de datos, y tiene muchas características poderosas. Hay muchas mejoras en PL / SQL en Oracle Database 12.1. Use SQL siempre que sea posible, pero si su consulta se vuelve demasiado complicada o se necesitan características de procedimiento, es mejor usar PL / SQL en su lugar.

Artículos recomendados

Esta ha sido una guía de los Loops en PL / SQL. Aquí también discutimos las ventajas y los diferentes tipos de bucles con ejemplos. También puede consultar los siguientes artículos para obtener más información:

  1. ¿Qué es PL / SQL?
  2. Pruebas de escalabilidad
  3. ¿Qué es el lenguaje de programación R?
  4. ¿Qué es PHP?
  5. Las 36 palabras clave principales en SQL con ejemplos
  6. Bucles en PowerShell | Tipos | Beneficios