Bloc PL/SQL : STRUCTURE, Syntaxe, Exemple ANONYME
Qu’est-ce que le bloc PL/SQL ?
En PL/SQL, le code n'est pas exécuté au format une seule ligne, mais il est toujours exécuté en regroupant le code en un seul élément appelé Blocs. Dans ce tutoriel, vous allez découvrir ces blocs.
Les blocs contiennent à la fois des instructions PL/SQL et SQL. Toutes ces instructions seront exécutées dans leur ensemble plutôt que d’exécuter une seule instruction à la fois.
Structure de bloc
Les blocs PL/SQL ont une structure prédéfinie dans laquelle le code doit être regroupé. Vous trouverez ci-dessous différentes sections de blocs PL/SQL.
- Section Déclaration
- Section d'exécution
- Section Gestion des exceptions
L'image ci-dessous illustre les différents blocs PL/SQL et leur ordre de section.
Section de déclaration
Il s'agit de la première section des blocs PL/SQL. Cette section est une partie facultative. C'est la section dans laquelle seront déclarées les variables, curseurs, exceptions, sous-programmes, instructions pragma et collections nécessaires dans le bloc. Vous trouverez ci-dessous quelques caractéristiques supplémentaires de cette pièce.
- Cette section particulière est facultative et peut être ignorée si aucune déclaration n'est nécessaire.
- Il doit s'agir de la première section d'un bloc PL/SQL, le cas échéant.
- Cette section commence par le mot-clé « DECLARE » pour les déclencheurs et le blocage anonyme. Pour les autres sous-programmes, ce mot-clé ne sera pas présent. Au lieu de cela, la partie après la définition du nom du sous-programme marque la section de déclaration.
- Cette section doit toujours être suivie d'une section d'exécution.
Section d'exécution
La partie exécution est la partie principale et obligatoire qui exécute réellement le code qui y est écrit. Depuis le PL / SQL attend les instructions exécutables de ce bloc, cela ne peut pas être un bloc vide, c'est-à-dire qu'il doit contenir au moins une ligne de code exécutable valide. Vous trouverez ci-dessous quelques caractéristiques supplémentaires de cette pièce.
- Celui-ci peut contenir à la fois du code PL/SQL et du code SQL.
- Celui-ci peut contenir un ou plusieurs blocs à l’intérieur sous forme de bloc imbriqué.
- Cette section commence par le mot-clé « BEGIN ».
- Cette section doit être suivie soit par la section « END » ou par la section de gestion des exceptions (si présente)
Section de gestion des exceptions
L'exception est inévitable dans le programme qui se produit au moment de l'exécution et pour gérer cela Oracle a fourni une section de gestion des exceptions en blocs. Cette section peut également contenir des instructions PL/SQL. Il s'agit d'une section facultative des blocs PL/SQL.
- Il s'agit de la section dans laquelle l'exception déclenchée dans le bloc d'exécution est gérée.
- Cette section est la dernière partie du bloc PL/SQL.
- Le contrôle de cette section ne peut jamais revenir au bloc d'exécution.
- Cette section commence par le mot-clé « EXCEPTION ».
- Cette section doit toujours être suivie 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 /
Remarque: Un bloc doit toujours être suivi de '/' qui envoie l'information au compilateur sur la fin du bloc.
Types de blocs PL/SQL
Les blocs PL/SQL sont principalement de deux types.
- Blocs anonymes
- Blocs nommés
Blocs anonymes
Les blocs anonymes sont des blocs PL/SQL auxquels aucun nom ne leur est attribué. Ils doivent être créés et utilisés au cours de la même session car ils ne seront pas stockés sur le serveur en tant qu'objets de base de données.
Puisqu’ils n’ont pas besoin d’être stockés dans la base de données, ils ne nécessitent aucune étape de compilation. Ils sont écrits et exécutés directement, et la compilation et l'exécution s'effectuent en un seul processus.
Vous trouverez ci-dessous quelques caractéristiques supplémentaires des blocs anonymes.
- Ces blocs n'ont aucun nom de référence spécifié pour eux.
- Ces blocs commencent par le mot-clé 'DECLARE' ou 'BEGIN'.
- Puisque ces blocs n’ont pas de nom de référence, ils ne peuvent pas être stockés pour un usage ultérieur. Ils doivent être créés et exécutés au cours de la même session.
- Ils peuvent appeler les autres blocs nommés, mais l'appel au bloc anonyme n'est pas possible car il n'a aucune référence.
- Il peut contenir un bloc imbriqué qui peut être nommé ou anonyme. Il peut également être imbriqué dans n'importe quel bloc.
- Ces blocs peuvent avoir les trois sections du bloc, dans lesquelles la section d'exécution est obligatoire, les deux autres sections sont facultatives.
Blocs nommés
Les blocs nommés ont un nom spécifique et unique. Ils sont stockés en tant qu'objets de base de données sur le serveur. Puisqu'ils sont disponibles en tant qu'objets de base de données, ils peuvent être référencés ou utilisés tant qu'ils sont présents sur le serveur. Le processus de compilation des blocs nommés se déroule séparément lors de leur création en tant qu'objets de base de données.
Vous trouverez ci-dessous quelques caractéristiques supplémentaires des blocs nommés.
- Ces blocs peuvent être appelés depuis d’autres blocs.
- La structure du bloc est la même qu'un bloc anonyme, sauf qu'il ne commencera jamais par le mot-clé « DECLARE ». Au lieu de cela, il commencera par le mot-clé « CREATE » qui demande 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. Il peut également contenir des blocs imbriqués.
- Les blocs nommés sont essentiellement de deux types :
- Procédure
- Fonction
Nous en apprendrons davantage sur ces blocs nommés dans les rubriques « Procédure » et « Fonction » dans un didacticiel ultérieur.
Résumé
Après ce didacticiel, vous devez connaître les blocs PL/SQL et leurs types, les différentes sections de blocs et leurs utilisations. La description détaillée des blocs PL/SQL nommés sera abordée dans le didacticiel ultérieur.