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 tableau appelé employés.
CRÉER TABLE employés (
NUMÉRO d'id_employé,
nom_employé VARCHAR2(50)
);
INSERT INTO employes (employee_id, employ_name) VALUES (1, 'John Doe');
INSERT INTO employes (employee_id, employ_name) VALUES (2, 'Jane Smith');
INSERT INTO employes (employee_id, employe_name) VALUES (3, 'Sam Wilson');
INSERT INTO employes (employee_id, employ_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
-- Collectez en masse les noms des employés dans la collection
SELECT Employee_name 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é.
Sortie
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ée : Jane Smith
Nom de l'employé : Sam Wilson
Nom de l'employée : 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!