Bloc PL / SQL: STRUCTURE, Syntaxe, Exemple ANONYME

Table des matières:

Anonim

Qu'est-ce que le bloc PL / SQL?

En PL / SQL, le code n'est pas exécuté au format d'une seule ligne, mais il est toujours exécuté en regroupant le code en un seul élément appelé Blocks. Dans ce didacticiel, 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.

Dans ce tutoriel, vous apprendrez:

  • Qu'est-ce que le bloc PL / SQL?
  • Structure de bloc
  • Syntaxe de bloc PL / SQL
  • Types de bloc PL / SQL

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.

  1. Section déclaration
  2. Section d'exécution
  3. Section de gestion des exceptions

L'image ci-dessous illustre les différents blocs PL / SQL et leur ordre de section.

Section de déclaration

Ceci est la première section des blocs PL / SQL. Cette section est une partie facultative. C'est la section dans laquelle la déclaration des variables, curseurs, exceptions, sous-programmes, instructions pragma et collections nécessaires dans le bloc sera déclarée. Voici quelques autres caractéristiques 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 de la 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. Puisque 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. Voici quelques autres caractéristiques de cette pièce.

  • Cela peut contenir à la fois du code PL / SQL et du code SQL.
  • Cela peut contenir un ou plusieurs blocs à l'intérieur en tant que bloc imbriqué.
  • Cette section commence par le mot-clé «BEGIN».
  • Cette section doit être suivie de la section «FIN» ou de la gestion des exceptions (le cas échéant)

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.

  • C'est la section où l'exception levé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 de bloc PL / SQL

Vous trouverez ci-dessous la syntaxe de la structure de bloc PL / SQL.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Remarque: Un bloc doit toujours être suivi de «/» qui envoie les informations au compilateur sur la fin du bloc.

Types de bloc PL / SQL

Les blocs PL / SQL sont principalement de deux types.

  1. Blocs anonymes
  2. 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 dans 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 n'ont pas besoin d'étapes de compilation. Ils sont écrits et exécutés directement, et la compilation et l'exécution se font en un seul processus.

Voici quelques autres caractéristiques 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».
  • Étant donné que ces blocs n'ont pas de nom de référence, ils ne peuvent pas être stockés à des fins ultérieures. Ils doivent être créés et exécutés dans la même session.
  • Ils peuvent appeler les autres blocs nommés, mais l'appel à un 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 pour eux. 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 autres caractéristiques des blocs nommés.

  • Ces blocs peuvent être appelés à partir d'autres blocs.
  • La structure du bloc est la même que celle d'un bloc anonyme, sauf qu'elle ne commencera jamais par le mot-clé «DECLARE». Au lieu de cela, il commencera par le mot-clé 'CREATE' 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. Il peut également contenir des blocs imbriqués.
  • Les blocs nommés sont essentiellement de deux types:
  1. Procédure
  2. Fonction
Nous en apprendrons plus sur ces blocs nommés dans les rubriques «Procédure» et «Fonction» dans un didacticiel ultérieur.

Résumé

Après ce tutoriel, 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 couverte dans le prochain didacticiel.