sql >> Base de Datos >  >> RDS >> Oracle

Cómo crear VARRAY como miembro de bloque PL/SQL en la base de datos Oracle

Hoy vamos a hacer una demostración práctica para aprender a crear un VARRAY en Oracle Database, así que no dude en visitar el último tutorial para conocer todas las teorías necesarias sobre VARRAY. Como siempre, intentaré mantener el ejemplo lo más simple posible. Entonces, si eres nuevo en la programación, no te preocupes, ¡te tengo!

Anteriormente discutimos en la introducción a PL/SQL VARRAY que se pueden crear VARRAY de tablas anidadas

  • Como miembro de PL/SQL Block y
  • Como un objeto de base de datos.

Hoy aprenderemos cómo crear VARRAYs como miembro del bloque PL/SQL y dejaremos el resto para futuros tutoriales.

Paso 1:Defina un Varray dentro del bloque PL/SQL

Puede definir un varray solo dentro de la sección de declaración de un bloque PL/SQL.

 ACTIVAR SALIDA DEL SERVIDOR; DECLARAR TIPO inBlock_vry ES VARRAY (5) DE NÚMERO;

En el código anterior, creamos un VARRAY y lo llamamos inBlock_vry. Este varray es capaz de contener 5 elementos del tipo de datos Number.

Paso 2:Inicialice el Varray

La inicialización de un varray se puede hacer fácilmente usando la variable de colección. Para inicializar VARRAY, primero definiremos una variable de colección y luego la usaremos para inicializar.

vry_obj enBloque_vry :=enBloque_vry();

En el código anterior, creamos una variable de colección con el nombre vry_obj y la usamos para inicializar el varray enBlock_vry.

Información:
Algunos libros se refieren a la variable de colección como objeto de colección, así que no se confunda, ya que ambos son iguales .

Paso 3:Cómo insertar datos en el VARRAY

Insertar datos en el varray es muy similar a insertar datos en el arreglo de otro lenguaje de programación. Puede insertar datos directamente en cada celda del varray usando el número de índice o puede usar LOOP para llenar el varray.

Cómo insertar datos en el VARRAY usando el índice de la celda

Como sabemos, la estructura de una colección de celdas PL/SQL consiste en una celda con un subíndice llamado índice. Podemos usar este índice para insertar los datos en el varray.

 COMENZAR vry_obj.EXTEND(5); vry_obj(1):=10*2; DBMS_SALIDA.PUT_LINE(vry_obj(1)); FIN; //pre> 

Sección de ejecución -1

En el código anterior escribimos la sección de ejecución del bloque PL/SQL. Consta de 3 sentencias ejecutables. Estas tres declaraciones son –

Línea 6:Declaración 1

La primera declaración es una llamada al procedimiento EXTEND. En esta declaración estamos asignando la memoria a cada celda de VARRAY usando el procedimiento EXTEND.

Línea 7:Declaración 2

En la segunda declaración, estamos asignando un valor numérico (valor derivado de la expresión de multiplicación aritmética) en la primera celda del varray (celda con número de índice 1).

Información:
En la colección PL/SQL, el número de índice VARRAY de la celda comienza con 1, mientras que el número de índice de celdas en la matriz comienza con 0.

Línea 8:Declaración 3

La tercera declaración es una declaración de salida en la que mostramos el valor que almacenamos en la celda 1 de VARRY para el usuario.

Así es como puede almacenar y mostrar el valor almacenado en una celda individual del varray. Este proceso es bueno solo cuando tienes un varray corto. De lo contrario, no es una forma eficiente. Otra forma de insertar datos en Varray es usando Loop.

Lectura recomendada:Introducción a PL/SQL Loop

Cómo insertar datos en un VARRAY usando PL/SQL Loop

La forma más común de tratar los datos de una colección es mediante bucles. La mayoría de los programadores están acostumbrados a usar bucles para recorrer los datos de cualquier tipo de matriz porque es fácil, consume menos tiempo y tiene menos líneas de códigos, lo que mantiene su código más limpio y lo hace fácil de leer. En resumen, es fácil y eficiente.

 EMPIEZA POR i EN 1 .. vry_obj.LIMIT LOOP vry_obj.EXTEND; vry_obj (i):=10*i; DBMS_OUTPUT.PUT_LINE (vry_obj (i)); FIN DEL BUCLE; FIN; //pre> 

Sección de ejecución -2

He explicado el código anterior en detalle en el Video tutorial en mi canal de YouTube que puedes ver aquí.

Aún así, para minimizar la confusión, le explicaré aquí las dos funciones principales utilizadas en la sección de ejecución anterior (Sección de ejecución - 2) que son - Limitar y extender.

Para comprender el funcionamiento del código que se muestra arriba, se requiere la comprensión de PL/SQL for loop. Con mucho gusto, hice un tutorial detallado sobre For-Loop, que puedes leer aquí.

Límite (línea 6): Limit es un método de recopilación que devuelve el número máximo de elementos permitidos en VARRAY. En nuestro caso, el número máximo de elementos permitidos en VARRAY es 5 (línea 3), que a su vez se convierte en el límite superior de For-Loop aquí.

Extender (Línea 8): Extend es un procedimiento que se utiliza para asignar la memoria y agrega un elemento a VARRAY. Si se usa sin argumento (Sección de ejecución-2 Línea 8), agrega un solo elemento nulo y si se usa con un argumento EXTEND (n) (sección de ejecución -1 Línea 6), luego agrega n números a la colección. Donde n es el número entero que proporcionó como argumento para el procedimiento EXTEND.

Ese es el tutorial de PL/SQL sobre cómo crear una colección VARRAY en Oracle Database como miembro del bloque PL/SQL. Por favor, asegúrese de darle Me Gusta a este blog, así como compartirlo con sus amigos y suscribirse a mi canal, ya que muchos de estos Tutoriales aún están por llegar. ¡Gracias y que tengas un gran día!