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
Definir um tipo de coleção: definimos um tipo de coleção chamado emp_name_table para armazenar nomes de funcionários.
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.
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.
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