gif animé ordinateur

vendredi 25 mars 2011

Programmation Oracle PL/SQL



Voici ce que dit le site ORACLE sur ce language :  PL/SQL is an imperative 3GL that was designed specifically for the seamless processing of SQL commands. It provides specific syntax for this purpose and supports exactly the same datatypes as SQL. Server-side PL/SQL is stored and compiled in Oracle Database and runs within the Oracle executable. It automatically inherits the robustness, security, and portability of Oracle Database.

PL/SQL, vous l'avez compris, est un langage propriétaire (Not open source). Mais le maîtriser c'est s'assurer d'avoir de belles perspectives d'emploi devant soi. C'est donc un langage à prendre au sérieux.


PL/SQL pour "procedural langagePL/SQL est un langage structuré en blocs, constitués d'un ensemble d'instructions.

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.
Chaque bloc PL/SQL peut être constitué de 3 sections :

  • Une section facultative de déclaration et initialisation de types, variables et constantes
  • Une section obligatoire contenant les instructions d'exécution
  • Une section facultative de gestion des erreurs
[DECLARE
… déclarations et initialisation]
BEGIN
… instructions exécutables
[EXCEPTION
… interception des erreurs]
END;
Un bloc PL/SQL minimum peut être représenté de la façon suivante :

BEGIN
   Null ;
END ;

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.

DECLARE
   LC$Chaine                      VARCHAR2(15) := 'Salut Monde' ;
BEGIN
   DBMS_OUTPUT.PUT_LINE( LC$Chaine ) ;
END ;

DBMS_OUTPUT.PUT_LINE : est l’équivalent en java de System.out.println

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.

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.

Toute variable doit avoir été déclarée avant de pouvoir être utilisée dans la section exécutable.
DECLARE
   LC$Chaine                      VARCHAR2(15) := 'Hello World' ;
BEGIN
   DBMS_OUTPUT.PUT_LINE( LC$Chaine ) ;
EXCEPTION
   When OTHERS then
         Null ;
END ;
Les erreurs doivent être interceptées avec le mot clé WHEN suivi du code erreur ciblé. Ici, le code OTHERS qui définit toutes les erreurs non interceptées individuellement par les clauses WHEN précédentes.
Cette section peut elle-même contenir d'autres blocs PL/SQL.

Après ce bref aperçu sur le PL/SQL, je vous envoie vers sur ce  tutorial.
Je vous le recommande vivement.

Aucun commentaire:

Enregistrer un commentaire