Maison  >  Article  >  interface Web  >  Collection de tables imbriquées en PL/SQL

Collection de tables imbriquées en PL/SQL

Patricia Arquette
Patricia Arquetteoriginal
2024-10-13 16:28:30684parcourir

Nested Tables Collection in PL/SQL

Collection de tables imbriquées en PL/SQL

Les tables imbriquées en PL/SQL sont un type de collection qui vous permet de stocker un nombre illimité d'éléments du même type. Ils sont particulièrement utiles pour conserver des ensembles de données dans un format structuré, ce qui les rend idéaux pour les scénarios dans lesquels vous devez gérer plusieurs lignes de données associées.

Définition simple

Table imbriquée : une table imbriquée est un type de collection qui peut contenir un nombre arbitraire d'éléments (du même type de données). Contrairement aux VARRAY, les tables imbriquées peuvent être clairsemées, ce qui signifie qu'elles peuvent présenter des lacunes dans leur indexation.

Syntaxe et structure

Syntaxe

  1. Création d'un type de table imbriquée :

CRÉER OU REPLACER TYPE type_name AS TABLE OF element_type ;

type_name : Nom du type de table imbriquée.

element_type : le type de données des éléments de la table imbriquée (par exemple, VARCHAR2, NUMBER ou un type d'objet).

  1. Déclarer une variable de table imbriquée :

nom_variable type_name;

  1. Méthodes de manipulation des tables imbriquées :

EXTEND(n) : augmente la taille de la table imbriquée de n éléments.

TRIM(n) : Réduit la taille du tableau imbriqué de n éléments.

DELETE(i) : supprime l'élément à l'index i.

COUNT : renvoie le nombre d'éléments dans le tableau imbriqué.

Exemple : Tableau imbriqué des jours de la semaine

Voici un exemple complet qui montre comment créer un tableau imbriqué pour les jours de la semaine, le remplir et afficher le contenu.

Étape 1 : Créer un type de table imbriquée

Tout d'abord, nous définissons un type de table imbriquée pour contenir les noms des jours.

CRÉER OU REMPLACER LE TYPE DaysOfWeek COMME TABLE DE VARCHAR2(15);

Étape 2 : déclarer et remplir la table imbriquée

Ensuite, nous déclarons une variable de ce type et la remplissons avec les jours de la semaine.

DÉCLARER
jours JoursDeSemaine ; -- Déclarer une variable de table imbriquée
COMMENCER
-- Initialiser la table imbriquée
jours := DaysOfWeek();

-- Add elements to the nested table
days.EXTEND(7); -- Extend the size by 7 for all days of the week
days(1) := 'Monday';
days(2) := 'Tuesday';
days(3) := 'Wednesday';
days(4) := 'Thursday';
days(5) := 'Friday';
days(6) := 'Saturday';
days(7) := 'Sunday';

-- Display the elements in the nested table
FOR i IN 1 .. days.COUNT LOOP
    DBMS_OUTPUT.PUT_LINE('Day ' || i || ': ' || days(i));
END LOOP;

FIN ;
/

Explication détaillée

  1. Création du type :

L'instruction CREATE OR REPLACE TYPE DaysOfWeek AS TABLE OF VARCHAR2(15); définit un nouveau type de table imbriquée appelé DaysOfWeek qui peut contenir des chaînes jusqu'à 15 caractères. Ce type servira à stocker les noms des jours.

  1. Déclarer la table imbriquée :

Dans le bloc DECLARE, les jours sont déclarés comme une variable de type DaysOfWeek. Cette variable contiendra notre collection de jours.

  1. Initialisation de la table imbriquée :

jours := DaysOfWeek(); initialise la variable jours comme une table imbriquée vide de type DaysOfWeek.

  1. Ajout d'éléments :

jours.EXTEND(7); augmente la taille du tableau imbriqué des jours pour contenir 7 éléments (un pour chaque jour de la semaine).

Chaque jour est affecté à l'indice correspondant :

jours(1) := 'lundi';

jours(2) := 'mardi';

jours(3) := 'mercredi';

jours(4) := 'Jeudi';

jours(5) := 'vendredi';

jours(6) := 'samedi';

jours(7) := 'Dimanche';

  1. Affichage des jours :

Une boucle FOR parcourt la table imbriquée des jours en utilisant jours.COUNT pour déterminer le nombre d'éléments présents.

DBMS_OUTPUT.PUT_LINE sort chaque jour avec son index.

Sortie

Lorsque ce bloc est exécuté, le résultat sera :

Jour 1 : lundi
Jour 2 : mardi
Jour 3 : mercredi
Jour 4 : jeudi
Jour 5 : vendredi
Jour 6 : samedi
Jour 7 : dimanche

Conclusion

Cet exemple montre comment définir, remplir et manipuler une table imbriquée en PL/SQL. Les tables imbriquées sont des structures polyvalentes qui vous permettent de gérer efficacement des collections de données et peuvent être utilisées dans diverses applications où une gestion dynamique des données est requise.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn