Introduction aux collections PL / SQL
Tout d'abord, comme d'autres langages de programmation modernes, PL / SQL fournit également aux programmeurs la possibilité d'utiliser des collections PL / SQL. Donc, en termes généraux, la collection est une structure de données ayant un groupe ordonné d'éléments du même type de données et ces éléments sont accessibles via des index selon les exigences spécifiques. Les collections couramment utilisées dans la plupart des langages de programmation sont les tableaux, les ensembles, les listes et les files d'attente, etc.
La collection PL / SQL offre de nombreux avantages au programmeur et à l'utilisateur tout en stockant et en accédant aux données de types de données similaires dans une application. Lorsqu'il est nécessaire de traiter les données en une seule fois ou de traiter une grande quantité de données, les collections PL / SQL sont très utiles. Il réduit également la taille et la vitesse de traitement tout en stockant les données et en accédant aux éléments. Les éléments des collections sont facilement accessibles via des boucles et des index. Contrairement aux tableaux dans d'autres langages de programmation, PL / SQL ne prend en charge que les collections unidimensionnelles et les données dans les collections sont identifiées par les indices (également appelés index dans d'autres langages). Chaque élément est accessible et traité via cet indice unique.
Types de collections PL / SQL
Les collections PL / SQL sont de 3 types qui sont donnés ci-dessous avec la syntaxe:
Tables imbriquées
Une table imbriquée est une collection PL / SQL dont la taille n'est pas fixe. Donc, c'est comme un tableau unidimensionnel, sauf que la taille est fixe dans les tableaux et qu'elle peut être dense et clairsemée à la fois. Le programmeur doit étendre la mémoire à chaque fois avant de l'utiliser en utilisant EXTEND Subscript dans la table imbriquée commence par un entier «1».
Les tables imbriquées font partie des collections PL / SQL persistantes, ce qui signifie qu'elles peuvent être réutilisées davantage comme stockées dans la base de données. Le programmeur peut également supprimer un élément de tableau et rendre la table clairsemée, ce qui signifie que les tables imbriquées peuvent être à la fois denses et clairsemées. Les tables imbriquées peuvent être déclarées à l'intérieur du bloc PL / SQL ou au niveau du schéma.
Comme il n'y a pas de limite sur la taille supérieure dans les tables imbriquées, elles entrent dans la catégorie des collections PL / SQL illimitées.
Syntaxe:
TYPE typ_name IS table of element_data_type;
Table_name typ_name;
Tableaux ou VARRAY de taille variable
VARRAY est la collection PL / SQL dans laquelle la taille de la collection est fixée conformément à sa définition. seulement. Ainsi, le programmeur ne peut supprimer aucun élément entre les deux, soit le varray entier est supprimé, soit il peut être coupé à la fin. Les varrays doivent être accessibles et stockés séquentiellement. Il peut être défini à l'intérieur du bloc PL / SQL ou au niveau du schéma. Comme les tables imbriquées, les varrays entrent dans la catégorie des collections persistantes afin qu'elles puissent être réutilisées et stockées dans la base de données.
Syntaxe:
TYPE typ_name IS VARRAY OF element_data_type;
Tableaux associatifs
Comme son nom l'indique, les tableaux associatifs sont utilisés pour contenir les valeurs dans des paires clé-valeur. La clé utilisée peut être une chaîne ou un type entier. Les tableaux associatifs sont également appelés tables d'indexation. Cette collection peut être dense ou clairsemée. Dans les tableaux associatifs, la taille du tableau n'est pas fixée au démarrage et le programmeur n'a pas besoin de les initialiser avant de l'utiliser. Un tableau associatif appartient à la catégorie des collections non persistantes, ce qui signifie qu'elles ne sont pas stockées dans la base de données et ne peuvent pas être réutilisées de sorte qu'elles sont définies à l'intérieur du bloc PL / SQL et sont utilisées uniquement dans cette session particulière. Ces tableaux appartiennent à la catégorie des collections illimitées.
Syntaxe:
TYPE typ_name IS TABLE OF element_data_type;
Méthodes de collecte
PL / SQL fournit des méthodes prédéfinies pour faciliter le travail avec les collections. Certaines des méthodes sont données ci-dessous:
S.No. | Nom de la méthode | La description |
1. | COMPTER | Il renvoie le nombre d'éléments présents dans la collection |
2. | PREMIER | Il renvoie le plus petit (premier) numéro d'index de la collection pour les indices entiers |
3. | DERNIER | Il renvoie le plus grand (dernier) numéro d'index de la collection pour les indices entiers. |
4. | EXISTE (n) | Il est utilisé pour vérifier si un élément particulier est présent ou non dans la collection. Il renvoie VRAI si les nièmes éléments sont présents dans la collection, FAUX sinon. |
5. | PRIOR (n) | Il renvoie le numéro d'index qui est le prédécesseur de l'index (n) donné par l'utilisateur dans la collection. |
6. | SUIVANT (n) | Il renvoie le numéro d'index qui est le successeur de l'index (n) donné par l'utilisateur dans la collection. |
sept. | RÉDUIRE | Il est utilisé pour supprimer des éléments de la collection. TRIM supprime le dernier élément de la collection et TRIM (n) supprime le dernier n élément de la fin de la collection. |
8. | SUPPRIMER | Il est utilisé pour supprimer tous les éléments de la collection donnée. Il définit le nombre de collections à 0 après avoir supprimé tous les éléments |
9. | SUPPRIMER (m, n) | Il est utilisé dans le cas de tableaux associatifs et de tables indexées pour supprimer tous les éléments de la plage de m à n. Il renvoie null si m est supérieur à n. |
dix. | LIMITE | Il est utilisé pour vérifier la taille maximale de la collection. |
Exceptions de collecte
Vous trouverez ci-dessous quelques-unes des exceptions les plus susceptibles de se produire lors de l'utilisation des collections.
Nom de l'exception | Un scénario dans lequel une exception survient |
AUCUNE DONNÉE DISPONIBLE | Une exception survient lorsqu'un indice faisant référence à un élément qui est supprimé et n'existe plus. |
VALUE_ERROR | L'exception se produit lorsque la valeur des colonnes essayant d'accéder n'est pas convertible en type de clé ou lorsqu'un indice est nul |
COLLECTION_IS_NULL | Une exception survient lorsque vous travaillez sur une collection automatiquement nulle |
SUBSCRIPT_BEYOND_CO UNT | Une exception se produit lorsqu'un indice dépasse le nombre maximal d'un certain nombre d'éléments dans la collection. |
SUBSCRIPT_OUTSIDE_LIM IT | L'exception survient lorsque vous essayez de faire référence à l'aide du numéro d'index qui est en dehors de la plage légale. |
TOO_MANY_ROWS | Une exception se produit lorsqu'une instruction SELECT into renvoie plus d'une ligne. |
Avantages des collections en PL / SQL
Certains des avantages des collections PL / SQL sont indiqués ci-dessous:
- De plus, l'un des plus grands avantages des collections est qu'elle améliore les performances du système en mettant en cache les données statiques auxquelles il faut accéder régulièrement.
- Plus important encore, les collections sont utiles tout en travaillant avec le grand ensemble de données ayant le même type de données sur lequel l'utilisateur doit effectuer plusieurs opérations DML.
- En utilisant une seule variable de collection, nous pouvons réduire le nombre multiple de variables utilisées pour stocker différentes valeurs et donc économiser la mémoire.
- L'exécution de différentes opérations telles que le stockage et le traitement des données devient facile grâce aux méthodes de collecte PL / SQL déjà fournies.
Conclusion
Grâce à la description ci-dessus, vous pouvez avoir une idée de ce qu'est la collection PL / SQL et des méthodes qui peuvent être utilisées dans les collections PL / SQL. Avant d'utiliser un type de collection PL / SQL dans le programme, le développeur doit d'abord réfléchir profondément au scénario avant de choisir un type. Bien que travailler dans des collections PL / SQL ne soit pas difficile mais certaines exceptions peuvent survenir à différents points que le programmeur doit connaître et savoir comment les gérer.
Articles recommandés
Ceci est un guide des collections PL / SQL. Nous discutons ici de la syntaxe, des types, des méthodes et des exceptions des collections PL / SQL ainsi que des avantages. Vous pouvez également consulter les articles suivants pour en savoir plus -
- Curseurs en PL / SQL
- Instruction CASE en PL / SQL
- Questions d'entretiens chez Oracle PL / SQL
- Commandes PL / SQL