PL SQL Oracle 10g...

1 - Introduction

 

PL / SQL (Procedural language /Structured Query language) est un langage procédural  d’ORACLE en extension au  SQL qui est un langage ensembliste.
Il permet de regrouper un ensemble de commandes et de les soumettre au noyau comme un bloc unique de traitement.
Comme SQL est un L4G (langage non  procédural), PL / SQL intègre des instructions des langages de programmation des L3G pour permettre des traitements procéduraux et pour faire de PL/SQL un langage de traitement de transactions.
Ces traitements peuvent être exécutés, soit directement par les outils d’ORACLE (blocs anonymes), soit  à partir d’objets de la base (procédures stockées).




2 - Avantages de PL SQL

 

Intégration du SQL : les instructions du DML, du contrôle de transaction et les fonctions SQL  peuvent être utilisées avec pratiquement la même syntaxe.

Traitements procéduraux : la gestion des variables et des structures de contrôle (test, boucles) accroissent les possibilités de gestion des données.

Fonctionnalités supplémentaires : la gestion des curseurs et le traitement des erreurs offrent de nouvelles possibilités de traitements .   

Amélioration des performances : plusieurs instructions sont regroupées dans un bloc qui ne  génèrera qu’un accès à la base .

Incorporation aux produits ORACLE : les blocs ou procédures PL / SQL sont compilés et exécutés par le  moteur   PL / SQL . Ce moteur est directement intégré à la base ORACLE  et à certains outils tels que SQL Developper, PL SQL Developer ou TOAD.

3 - Structure du Langage

 

PL/SQL est  un langage structuré en bloc. Il n’interprète pas une commande mais un ensemble de commandes contenu dans un bloc. Ce bloc est compilé et exécuté par le moteur de PL / SQL.

Un bloc PL/SQL peut être "externe", on dit alors qu'il est anonyme, ou alors stocké dans la base de données sous forme de procédure, fonction ou trigger.

Un bloc PL/SQL est intégralement envoyé au moteur PL/SQL, qui traite chaque instruction PL/SQL et sous-traite les instructions purement SQL au moteur SQL, afin de réduire le trafic réseau.

Un programme écrit en PL / SQL (appelé bloc) est subdivisé en 3 sections :

Section déclaration

Section Exécutable

Section Exception

Un bloc PL/SQL minimum peut être représenté de la façon suivante :


Le mot clé BEGIN détermine le début de la section des instructions exécutables
Le mot clé END; indique la fin de la section des instructions exécutables
Une seule instruction figure dans ce bloc : Null; qui ne génère aucune action


Ce bloc PL/SQL ne fait donc absolument rien !
La section déclarative (facultative) d'un bloc débute par le mot clé DECLARE
Elle contient toutes les déclarations des variables qui seront utilisées localement par la section exécutable, ainsi que leur éventuelle initialisation.

La section déclarative (facultative) d'un bloc débute par le mot clé DECLARE
Elle contient toutes les déclarations des variables qui seront utilisées localement par la section exécutable, ainsi que leur éventuelle initialisation.

Section Déclaration et section Exception  sont optionnelles. Seule la Section Exécutable est obligatoire .
Celle-ci peut contenir : des commandes SQL, des instructions de contrôle conditionnel, des instructions de contrôle itératif et commandes de gestion de curseurs.

 


4 - Affichage dans PL SQL.

 

Pour afficher les résultats dans un bloc PL/SQL, on utilise le package standard DBMS_OUTPUT.PUT_LINE.
IMPORTANT : Avant d’exécuter les blocs  PL/SQL, il faut faire une variable d’environnement SET SERVEROUTPUT ON.

Exemple simple:

Une variable LC$Chaine est déclarée de type VARCHAR2(15) et initialisée avec la valeur 'Salut Monde' ;
Dans la section exécutable, cette variable est transmise à la fonction DBMS_OUTPUT() pour être affichée à l'écran

Cette section ne peut pas contenir d'instructions exécutables. Toutefois, il est possible de définir dans cette section des procédures ou des fonctions contenant une section exécutable.

Toute variable doit avoir été déclarée avant de pouvoir être utilisée dans la section exécutable.


5 - EXCEPTIONS DANS PL SQL

 

La section de gestion des erreurs (facultative) débute par le mot clé EXCEPTION
Elle contient le code exécutable mis en place pour la gestion des erreurs
Lorsqu'une erreur intervient dans l'exécution, le programme est stoppé et le code erreur est transmis à cette section.


6 - Outils PL SQL

 

Cette section comporte les principaux d'outils PLSQL... Télécharger la documentation pour plus de détails en cliquant ici.

7 - Utilisation d'un bloc PL/SQL dans Oracle Forms

 

On peut utiliser un bloc PL/SQL dans Forms (appel des packages, procédures et fonctions).

Dans cet exemple, on crée un bouton sur le canevas et en cliquant sur le bouton droit de la souris, on a accès à l'éditeur PL SQL. Ce qui nous donne l'image suivante:

Exemple d'un bloc PL/SQL dans Forms.

Avec le langage PL/SQL, on peut créer autant d'objets (procédures, fonctions, curseurs) et manipuler des boucles, etc...

Télécharger un exemple d'utilisation des Exceptions dans PL/SQL, Cliquer ici. Pour une documentation complète de PL SQL d'Oracle, cliquer ici. Si vous voulez aller plus loin avec PL SQL, voici un autre pdf à télécharger sur le site de developpez, cliquer ici.