"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > COLETA EM GRANEL em PL/SQL

COLETA EM GRANEL em PL/SQL

Publicado em 2024-11-08
Navegar:893

BULK COLLECT in PL/SQL

Certamente! Aqui está um exemplo simples para demonstrar o uso de BULK COLLECT em PL/SQL.

O que é coleta em massa?

BULK COLLECT é um método usado para buscar várias linhas de uma consulta SQL em uma coleção PL/SQL em uma única operação. Isso reduz as alternâncias de contexto entre os mecanismos SQL e PL/SQL, tornando o processo mais eficiente, especialmente para grandes conjuntos de dados.

Exemplo simples de coleta em massa

Neste exemplo, criaremos uma tabela, inseriremos alguns dados nela e, em seguida, usaremos BULK COLLECT para buscar os dados em uma coleção.

Etapa 1: Crie uma tabela de exemplo

Primeiro, criamos uma tabela de exemplo chamada funcionários.

CREATE TABLE funcionários (
ID_funcionário NUMBER,
nome_dofuncionário VARCHAR2(50)
);

INSERT INTO funcionários (employee_id, Employee_Name) VALUES (1, 'John Doe');
INSERT INTO funcionários (employee_id, Employee_Name) VALUES (2, 'Jane Smith');
INSERT INTO funcionários (employee_id, Employee_Name) VALUES (3, 'Sam Wilson');
INSERT INTO funcionários (employee_id, Employee_Name) VALUES (4, 'Sara Brown');
INSERT INTO funcionários (employee_id, Employee_Name) VALUES (5, 'Mike Johnson');

COMPROMETER-SE;

Etapa 2: Bloco PL/SQL usando coleta em massa

Agora, usaremos BULK COLLECT para buscar todos os nomes de funcionários em uma coleção.

DECLARAR
TIPO emp_name_table IS TABLE OF VARCHAR2(50); -- Defina um tipo de coleção
emp_names emp_name_table; -- Declara uma variável desse tipo
COMEÇAR
- Colete em massa os nomes dos funcionários na coleção
SELECIONE nome_do_funcionário COLETE EM GRANDE EM nomes_emp
DOS funcionários;

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

FIM;
/

Explicação

  1. Definir um tipo de coleção: definimos um tipo de coleção chamado emp_name_table para armazenar nomes de funcionários.

  2. BULK COLLECT INTO: A instrução SELECT busca todos os valores Employee_Name da tabela Employees e os coleta na coleção emp_names de uma só vez.

  3. Loop para exibir resultados: percorremos a coleção usando COUNT para obter o número total de entradas e imprimir o nome de cada funcionário.

Saída

Se você executar o bloco PL/SQL acima, verá uma saída como esta:

Nome do funcionário: John Doe
Nome do funcionário: Jane Smith
Nome do funcionário: Sam Wilson
Nome do funcionário: Sara Brown
Nome do funcionário: Mike Johnson

Pontos-chave

Eficiência: usar BULK COLLECT reduz o número de alternâncias de contexto entre SQL e PL/SQL, tornando-o mais eficiente para processar grandes conjuntos de dados.

Tratamento de dados grandes: é particularmente útil quando você trabalha com grandes conjuntos de dados, pois minimiza a sobrecarga do processamento de linhas individuais.

Este exemplo ilustra o uso básico de BULK COLLECT para reunir com eficiência várias linhas em uma coleção PL/SQL.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mrcaption49/bulk-collect-in-plsql-34hc?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3