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
/
ร noter: 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.


