"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > RECOGER A GRANEL en PL/SQL

RECOGER A GRANEL en PL/SQL

Publicado el 2024-11-08
Navegar:719

BULK COLLECT in PL/SQL

¡Ciertamente! A continuación se muestra un ejemplo sencillo para demostrar el uso de BULK COLLECT en PL/SQL.

¿Qué es la recogida masiva?

BULK COLLECT es un método utilizado para recuperar varias filas de una consulta SQL en una colección PL/SQL en una sola operación. Esto reduce los cambios de contexto entre los motores SQL y PL/SQL, lo que hace que el proceso sea más eficiente, especialmente para conjuntos de datos grandes.

Ejemplo simple de recolección masiva

En este ejemplo, crearemos una tabla, insertaremos algunos datos en ella y luego usaremos BULK COLLECT para recuperar los datos en una colección.

Paso 1: Crear una tabla de muestra

Primero, creamos una tabla de muestra llamada empleados.

CREAR TABLA empleados (
empleado_id NÚMERO,
nombre_empleado VARCHAR2(50)
);

INSERT INTO empleados (id_empleado, nombre_empleado) VALORES (1, 'John Doe');
INSERTAR EN empleados (id_empleado, nombre_empleado) VALORES (2, 'Jane Smith');
INSERTAR EN empleados (id_empleado, nombre_empleado) VALORES (3, 'Sam Wilson');
INSERTAR EN empleados (id_empleado, nombre_empleado) VALORES (4, 'Sara Brown');
INSERTAR EN empleados (id_empleado, nombre_empleado) VALORES (5, 'Mike Johnson');

COMPROMETERSE;

Paso 2: Bloqueo PL/SQL mediante recopilación masiva

Ahora usaremos BULK COLLECT para recuperar todos los nombres de los empleados en una colección.

DECLARAR
TIPO emp_name_table ES TABLA DE VARCHAR2(50); -- Definir un tipo de colección
emp_names emp_name_table; -- Declarar una variable de ese tipo
COMENZAR
-- Recopilación masiva de nombres de empleados en la colección
SELECCIONE nombre_empleado RECOGER EN GRANEL EN nombres_emp
DE empleados;

-- Print the names
FOR i IN 1..emp_names.COUNT LOOP
    DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_names(i));
END LOOP;

FIN;
/

Explicación

  1. Definir un tipo de colección: definimos un tipo de colección llamado emp_name_table para contener los nombres de los empleados.

  2. BULK COLLECT INTO: la instrucción SELECT recupera todos los valores de nombre_empleado de la tabla de empleados y los recopila en la colección emp_names de una sola vez.

  3. Bucle para mostrar resultados: recorremos la colección usando COUNT para obtener el número total de entradas e imprimimos el nombre de cada empleado.

Producción

Si ejecuta el bloque PL/SQL anterior, verá un resultado como este:

Nombre del empleado: John Doe
Nombre del empleado: Jane Smith
Nombre del empleado: Sam Wilson
Nombre del empleado: Sara Brown
Nombre del empleado: Mike Johnson

Puntos clave

Eficiencia: el uso de BULK COLLECT reduce la cantidad de cambios de contexto entre SQL y PL/SQL, lo que lo hace más eficiente para procesar grandes conjuntos de datos.

Manejo de datos de gran tamaño: es particularmente útil cuando se trabaja con conjuntos de datos grandes, ya que minimiza la sobrecarga del procesamiento de filas individuales.

Este ejemplo ilustra el uso básico de BULK COLLECT para reunir eficientemente varias filas en una colección PL/SQL.

Declaración de liberación Este artículo se reproduce en: https://dev.to/mrcaption49/bulk-collect-in-plsql-34hc?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3