Bloc PL/SQL : structure, syntaxe et exemple anonyme
⚡ Résumé intelligent
Un bloc PL/SQL est l'unité de base qui regroupe les instructions PL/SQL et SQL afin qu'elles s'exécutent ensemble plutôt que ligne par ligne. Chaque bloc comprend une déclaration, une section d'exécution et une section de gestion des exceptions ; les blocs peuvent être anonymes ou nommés.

Qu'est-ce qu'un bloc PL/SQL ?
En PL/SQL, le code n'est pas exécuté sur une seule ligne ; il est toujours exécuté par groupe.ping Le code est organisé en un seul élément appelé bloc. Ce tutoriel vous permettra de découvrir ces blocs.
Les blocs contiennent des instructions PL/SQL et SQL. Toutes ces instructions sont exécutées en bloc et non une par une.
Structure de bloc
Les blocs PL/SQL possèdent une structure prédéfinie dans laquelle le code est regroupé. Voici les différentes sections d'un bloc PL/SQL :
- Section Déclaration
- Section d'exécution
- Section Gestion des exceptions
L'image ci-dessous illustre les différentes sections d'un bloc PL/SQL et leur ordre.
Section de déclaration
Il s'agit de la première section d'un bloc PL/SQL ; elle est facultative. C'est dans cette section que sont déclarées les variables, les curseurs, les exceptions, les sous-programmes, les instructions pragma et les collections nécessaires au bloc. Voici quelques autres caractéristiques de cette partie :
- Cette section est facultative et peut être ignorée si aucune déclaration n'est nécessaire.
- Elle devrait constituer la première section d'un bloc PL/SQL, le cas échéant.
- Pour les déclencheurs et les blocs anonymes, la déclaration commence par le mot-clé « DECLARE ». Ce mot-clé est absent pour les autres sous-programmes ; dans ce cas, la partie suivant le nom du sous-programme marque la section de déclaration.
- Elle doit toujours être suivie de la section d'exécution.
Section d'exécution
La partie exécution est la partie principale et obligatoire qui exécute effectivement le code écrit à l'intérieur. PL / SQL Ce bloc attend des instructions exécutables ; il ne peut pas être vide et doit contenir au moins une ligne exécutable valide. Voici quelques autres caractéristiques de cette partie :
- Il peut contenir à la fois du code PL/SQL et du code SQL.
- Il peut contenir un ou plusieurs blocs imbriqués.
- Cela commence par le mot-clé « BEGIN ».
- Il doit être suivi soit de « END », soit de la section de gestion des exceptions, si elle est présente.
Section de gestion des exceptions
Les exceptions sont des erreurs inévitables qui surviennent lors de l'exécution, et il est nécessaire de les gérer. Oracle Il comporte une section de gestion des exceptions organisée en blocs. Cette section peut également contenir des instructions PL/SQL et est facultative.
- C'est dans cette section que sont gérées les exceptions levées dans le bloc d'exécution.
- Il s'agit de la dernière partie du bloc PL/SQL.
- Le contrôle de cette section ne peut jamais revenir au bloc d'exécution.
- Cela commence par le mot-clé « EXCEPTION ».
- Il doit toujours être suivi du mot-clé « FIN ».
Le mot-clé « END » marque la fin du bloc PL/SQL.
Syntaxe des blocs PL/SQL
Vous trouverez ci-dessous la syntaxe de la structure des blocs PL/SQL.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
À noter: Un bloc doit toujours être suivi d'un '/', qui envoie au compilateur des informations sur la fin du bloc.
Types de blocs PL/SQL
Les blocs PL/SQL sont principalement de deux types :
- Blocs anonymes
- Blocs nommés
Les deux sont comparés brièvement ci-dessous avant d'être décrits individuellement.
| Aspect | Bloc anonyme | Bloc nommé |
|---|---|---|
| A un nom | Non | Oui |
| Stocké dans la base de données | Non | Oui, en tant qu'objet |
| Commence avec | DÉCLARER ou COMMENCER | CREATE |
| Réutilisable | Même session uniquement | Appelable à tout moment |
Blocage anonyme
Les blocs anonymes sont des blocs PL/SQL auxquels aucun nom n'est attribué. Ils doivent être créés et utilisés dans la même session car ils ne sont pas stockés sur le serveur en tant qu'objets de base de données.
Comme elles ne sont pas stockées dans la base de données, elles ne nécessitent pas d'étape de compilation séparée. Elles sont écrites et exécutées directement, la compilation et l'exécution ayant lieu dans un seul processus. Quelques autres caractéristiques :
- Ces blocs n'ont pas de nom de référence.
- Ils commencent par le mot-clé « DÉCLARER » ou « COMMENCER ».
- Comme elles n'ont pas de nom de référence, elles ne peuvent pas être stockées pour une utilisation ultérieure et doivent être créées et exécutées dans la même session.
- Ils peuvent appeler d'autres blocs nommés, mais un appel à un bloc anonyme est impossible, car celui-ci ne possède aucune référence.
- Ils peuvent contenir un bloc imbriqué, nommé ou anonyme, et ils peuvent également être imbriqués à l'intérieur de n'importe quel bloc.
- Ils peuvent comporter les trois sections, dont la section d'exécution est obligatoire et les deux autres facultatives.
Blocs nommés
Les blocs nommés possèdent un nom spécifique et unique. Ils sont stockés en tant qu'objets de base de données sur le serveur, ce qui permet de les référencer et de les utiliser tant qu'ils sont présents. Le processus de compilation des blocs nommés s'effectue séparément lors de leur création en tant qu'objets de base de données. Quelques autres caractéristiques :
- Ces blocs peuvent être appelés depuis d’autres blocs.
- La structure du bloc est identique à celle d'un bloc anonyme, à ceci près qu'il ne commence jamais par « DECLARE ». Il commence toujours par « CREATE », ce qui indique au compilateur de le créer en tant qu'objet de base de données.
- Ces blocs peuvent être imbriqués dans d'autres blocs et peuvent également contenir des blocs imbriqués.
- Les blocs nommés sont essentiellement de deux types :
- Procédure
- Fonction
Vous pouvez en apprendre davantage sur ces blocs nommés dans le guide de procédures et fonctions.


