Certainement! Voici un exemple simple pour démontrer l’utilisation de BULK COLLECT en PL/SQL.
Qu'est-ce que la collecte groupée ?
BULK COLLECT est une méthode utilisée pour récupérer plusieurs lignes d'une requête SQL dans une collection PL/SQL en une seule opération. Cela réduit les changements de contexte entre les moteurs SQL et PL/SQL, rendant le processus plus efficace, en particulier pour les grands ensembles de données.
Exemple simple de collecte groupée
Dans cet exemple, nous allons créer une table, y insérer des données, puis utiliser BULK COLLECT pour récupérer les données dans une collection.
Étape 1 : Créer un exemple de tableau
Tout d'abord, nous créons un exemple de table appelé employés.
CREATE TABLE employés (
NUMÉRO d'id_employé,
nom_employé VARCHAR2(50)
);
INSERT INTO employes (employee_id, employe_name) VALUES (1, 'John Doe');
INSERT INTO employes (employee_id, employe_name) VALUES (2, 'Jane Smith');
INSERT INTO employes (employee_id, employe_name) VALUES (3, 'Sam Wilson');
INSERT INTO employes (employee_id, employe_name) VALUES (4, 'Sara Brown');
INSERT INTO employes (employee_id, employe_name) VALUES (5, 'Mike Johnson');
COMMETTRE;
Étape 2 : Blocage PL/SQL à l'aide de la collecte groupée
Maintenant, nous allons utiliser BULK COLLECT pour récupérer tous les noms d'employés dans une collection.
DÉCLARER
TYPE emp_name_table EST TABLE DE VARCHAR2(50); -- Définir un type de collection
emp_names emp_name_table; -- Déclarer une variable de ce type
COMMENCER
-- Collecter en masse les noms des employés dans la collection
SELECT nom_employé BULK COLLECT INTO emp_names
DES employés ;
-- Print the names FOR i IN 1..emp_names.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_names(i)); END LOOP;
FIN;
/
Explication
Définir un type de collection : nous définissons un type de collection appelé emp_name_table pour contenir les noms des employés.
BULK COLLECT INTO : l'instruction SELECT récupère toutes les valeurs Employee_name de la table Employees et les collecte dans la collection emp_names en une seule fois.
Boucle pour afficher les résultats : nous parcourons la collection en utilisant COUNT pour obtenir le nombre total d'entrées et imprimons le nom de chaque employé.
Sortir
Si vous exécutez le bloc PL/SQL ci-dessus, vous verrez un résultat comme celui-ci :
Nom de l'employé : John Doe
Nom de l'employé : Jane Smith
Nom de l'employé : Sam Wilson
Nom de l'employé : Sara Brown
Nom de l'employé : Mike Johnson
Points clés
Efficacité : l'utilisation de BULK COLLECT réduit le nombre de changements de contexte entre SQL et PL/SQL, ce qui le rend plus efficace pour le traitement de grands ensembles de données.
Gestion de données volumineuses : cette fonctionnalité est particulièrement utile lorsque vous travaillez avec de grands ensembles de données, car elle minimise la surcharge liée au traitement des lignes individuelles.
Cet exemple illustre l'utilisation de base de BULK COLLECT pour rassembler efficacement plusieurs lignes dans une collection PL/SQL.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3