Oracle 10g Razvan Bizoï PL/SQL pour faux-titre indd 4 6/10/06 9:55:48 © Tsoft e

Oracle 10g Razvan Bizoï PL/SQL pour faux-titre indd 4 6/10/06 9:55:48 © Tsoft et Groupe Eyrolles, 2007, ISBN : 2-212-12056-7, ISBN 13 : 978-2-212-12056-1 © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-1 Module 1 : Présentation du PL/SQL Objectifs A la fin de ce module, vous serez à même d’effectuer les tâches suivantes : • Décrire la syntaxe PL/SQL. • Écrire un bloc PL/SQL. • Afficher les informations de déboguage. • Utiliser Oracle SQL Developer pour écrire des programmes SQL et PL/SQL. Contenu Pourquoi PL/SQL Sortie à l'écran Architecture PL/SQL Oracle SQL Developer La syntaxe PL/SQL SQL Developer Structure de bloc Atelier Bloc imbriqué • L’architecture PL/SQL • Le jeu de caractères • Le bloc PL/SQL • Sortie à l’écran • Déboguage Module 1 : Présentation du PL/SQL © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-2 Pourquoi PL/SQL Module 23 : Présentation PL/SQL - Diapo 23.2 TSOFT - ORACLE 10g SQL et PL*SQL Pourquoi PL/SQL ? SQL SQL SQL SQL if…then else end if… SQL SQL Le langage SQL est un langage "ensembliste", c'est-à-dire qu'il ne manipule qu'un ensemble de données satisfaisant des critères de recherche. PL/SQL est un langage "procédural", il permet de traiter de manière conditionnelle les données retournées par un ordre SQL. Le langage PL/SQL, abréviation de "Procedural Language extensions to SQL", comme son nom l'indique, étend SQL en lui ajoutant des éléments, tels que : • Les variables et les types. • Les structures de contrôle et les boucles. • Les procédures et les fonctions. • Les types d'objets et les méthodes. Ce ne sont plus des ordres SQL qui sont transmis un à un au moteur de base de données Oracle, mais un bloc de programmation. Le traitement des données est donc interne à la base, ce qui réduit considérablement le trafic entre celle-ci et l'application. Combiné à l'optimisation du moteur PL/SQL, cela diminue les échanges réseau et augmente les performances globales de vos applications. Toutes les bases de données Oracle comportent un moteur d'exécution PL/SQL. Comme Oracle est présent sur un très grand nombre de plates-formes matérielles, le PL/SQL permet une grande portabilité de vos applications. Le langage PL/SQL est simple d'apprentissage et de mise en œuvre. Sa syntaxe claire offre une grande lisibilité en phase de maintenance de vos applications. De nombreux outils de développement, en dehors de ceux d'Oracle, autorisent la programmation en PL/SQL dans la base de données. Ce chapitre présente l’environnement de développement et l’intégration du PL/SQL dans Oracle. Module 1 : Présentation du PL/SQL © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-3 Architecture PL/SQL Module 23 : Présentation PL/SQL - Diapo 23.3 TSOFT - ORACLE 10g SQL et PL*SQL Application client Application client Architecture PL/SQL Moteur SQL Moteur SQL SQL SQL PL/SQL PL/SQL Moteur PL/SQL Moteur PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL SQL SQL if…then else end if… SQL SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL SQL SQL Le moteur de base de données, Oracle, coordonne tous les appels en direction de la base. Le SQL et le PL/SQL comportent chacun un "moteur d'exécution" associé, respectivement le SQL STATEMENT EXECUTOR et le PROCEDURAL STATEMENT EXECUTOR. Lorsque le serveur reçoit un appel pour exécuter un programme PL/SQL, la version compilée du programme est chargée en mémoire puis exécutée par les moteurs PL/SQL et SQL. Le moteur PL/SQL gère les structures mémoire et le flux logique du programme, tandis que le moteur SQL transmet à la base les requêtes de données. Le PL/SQL est utilisé dans de nombreux produits Oracle, parmi lesquels : • Oracle Forms et Oracle Reports ; • Oracle Application Express • Oracle Warehouse Builder ; Les programmes PL/SQL peuvent être appelés à partir des environnements de développement Oracle suivants : • SQL*Plus ; • Oracle Enterprise Manager; • les précompilateurs Oracle (tels que Pro*C, Pro*COBOL, etc.) ; • Oracle Call Interface (OCI) ; • Server Manager; • Java Virtual Machine (JVM). Un bloc PL/SQL peut être traité dans un outil de développement Oracle (SQL*Plus, Oracle Forms, Oracle Reports). Dans ce cas, seules les instructions sont traitées par le moteur PL/SQL embarqué dans l'outil de développement, les ordres SQL incorporés dans les blocs PL/SQL sont toujours traités par la base de données. Module 1 : Présentation du PL/SQL © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-4 La syntaxe PL/SQL Module 23 : Présentation PL/SQL - Diapo 23.4 TSOFT - ORACLE 10g SQL et PL*SQL La syntaxe PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL SQL SQL if…then else end if… SQL SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL Tout langage de programmation possède une syntaxe, un vocabulaire et un jeu de caractères. Cette section présente les caractères valides en PL/SQL ainsi que les opérateurs arithmétiques et relationnels qu’il accepte. Un programme PL/SQL est une série de déclarations, chacune composée d'une ou plusieurs lignes de texte. Une ligne de texte est faite de combinaisons des caractères décrits ci-après : • Les lettres majuscules et minuscules : A÷ ÷ ÷ ÷Z et a÷ ÷ ÷ ÷z • Les chiffres entre 0÷ ÷ ÷ ÷9 • Les symboles suivants : ( ) + - * / < > = ! ~ ; : . @ % " ' # ^ & _ | { } ? [ ] Les mots réservés A ALL, ALTER, AND, ANY, ARRAY, ARROW, AS, ASC, AT B BEGIN, BETWEEN, BY C CASE, CHECK, CLUSTERS, CLUSTER, COLAUTH, COLUMNS, COMPRESS, CONNECT, CRASH, CREATE, CURRENT D DECIMAL, DECLARE, DEFAULT, DELETE, DESC, DISTINCT, DROP E ELSE, END, EXCEPTION, EXCLUSIVE, EXISTS F FETCH, FORM, FOR, FROM G GOTO, GRANT, GROUP H HAVING I IDENTIFIED, IF, IN, INDEXES, INDEX, INSERT, INTERSECT, INTO, IS L LIKE, LOCK M MINUS, MODE N NOCOMPRESS, NOT, NOWAIT, NULL O OF, ON, OPTION, OR, ORDER, OVERLAPS Module 1 : Présentation du PL/SQL © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-5 P PRIOR, PROCEDURE, PUBLIC R RANGE, RECORD, RESOURCE, REVOKE S SELECT, SHARE, SIZE, SQL, START, SUBTYPE T TABAUTH, TABLE, THEN, TO, TYPE U UNION, UNIQUE, UPDATE, USE V VALUES, VIEW, VIEWS W WHEN, WHERE, WITH Dans le langage PL/SQL comme dans SQL, les majuscules sont traitées de la même manière que les minuscules, excepté lorsqu’elles représentent la valeur d'une variable ou une constante de type chaîne de caractères. Certains de ces caractères, qu'ils soient seuls ou combinés à d'autres, ont une signification spéciale en PL/SQL. Le langage PL/SQL propose deux types de commentaires : Un commentaire mono-ligne commence par deux tirets « -- » et prend fin par la fin de la ligne. SQL> SELECT NOM_CATEGORIE -- Commentaire mono-ligne 2 FROM CATEGORIES; NOM_CATEGORIE ------------------------- Boissons Condiments ... Un commentaire multi-lignes commence par « /* » et finit par « */ ». Tous les caractères compris entre ces deux symboles sont ignorés par le compilateur. SQL> SELECT NOM_CATEGORIE /* 2 Commentaire muti-lignes 3 suite commentaire */ 4 FROM CATEGORIES; NOM_CATEGORIE ------------------------- Boissons Condiments ... Le langage PL/SQL est une série de déclarations et instructions. Chaque instruction se termine par « ; » elle peut être répartie sur plusieurs lignes, afin de la rendre plus lisible. Il est préférable de ne pas avoir plus d’une instruction ou déclaration par ligne. Note Attention Module 1 : Présentation du PL/SQL © Tsoft/Eyrolles – PL/SQL pour Oracle10g 1-6 Structure de bloc Module 23 : Présentation PL/SQL - Diapo 23.5 TSOFT - ORACLE 10g SQL et PL*SQL Structure de bloc BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL BLOC PL/SQL ... DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION END; END; END; END; END; END; END; END; ... ... Le PL/SQL est un langage structuré. Chaque élément de base de votre application est une entité cohérente. Le bloc PL/SQL vous permet de refléter cette structure logique dans la conception physique de vos programmes. Les programmes PL/SQL sont écrits sous forme de blocs de code définissant plusieurs sections comme la déclaration de variables, le code exécutable et la gestion d'exceptions (erreurs). Le code PL/SQL peut être stocké dans la base sous forme d'un sous-programme doté d'un nom ou il peut être codé directement dans SQL*Plus en tant que "bloc de code anonyme", c'est-à-dire sans nom. Lorsqu'il est stocké dans la base, le sous-programme inclut une section d'en-tête dans laquelle il est nommé, mais qui contient également la déclaration de son type et la définition d'arguments optionnels. La structure type d’un bloc PL/SQL est la suivante : [DECLARE] ... BEGIN ... [EXCEPTION] ... END ; DECLARE La section « DECLARE » contient la définition et l’initialisation des structures et des variables utilisées dans le bloc. Elle est facultative si le programme n’a aucune variable. BEGIN La section corps du bloc contient les instructions du programme et la section de traitement des erreurs. Cette section est obligatoire et elle uploads/Ingenierie_Lourd/ pl-sql-pdf 1 .pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager