PL/SQL est le langage procédural d’Oracle, bâti pour manipuler le langage de données SQL. Ce cours pratique a pour objectif la maîtrise du langage PL/SQL, la création de procédures stockées, l’utilisation des triggers, permettant de vous rendre autonome pour aborder des développements avec PL/SQL.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Comprendre le traitement transactionnel dans Oracle
  • Maîtriser les éléments du langage PL/SQL
  • Manipuler des données d’une base de données Oracle
  • Créer des procédures et des fonctions stockées
  • Utiliser les différents types des triggers
  • Gérer les exceptions
PROGRAMME DE FORMATION

Introduction et rappels

  • Traitement transactionnel dans Oracle.
  • Objets et dictionnaire d’une base Oracle.
  • SQL et PL/SQL. Vue globale de PL/SQL.
  • Outils utilisés. Documentation Oracle.

Eléments du langage

  • Environnements hôtes. Introduction syntaxique. Déclarations de variables et de constantes PL/SQL.
  • Types de données et conversion. Fonctions prédéfinies.
  • Instructions de contrôle : IF- ELSE, la boucle LOOP, la boucle FOR.
  • Types composites : records, tables indexées.
  • Types objets. Définition des sous-programmes.
  • Paramétrage des sous-programmes.

Exercice
Déclaration de variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs méthodes.

Accès à la base

  • La base et la notion de curseur.
  • Accès via curseur implicite : update, delete, insert, select. Utiliser les clauses RETURNING et BULK COLLECT.
  • Collections et FORALL.
  • Boucles FOR à curseur. Curseurs en mise à jour.
  • Curseurs explicites. Variables curseur.

Exercice
Utilisation de curseur explicite et de BULK COLLECT.

Traitements stockés

  • Gestion de sous-programmes stockés, de bibliothèques stockées et de paquetages.
  • Gestion des traitements stockés : droits d’accès, vues du dictionnaire et dépendance.
  • Utilisation des packages.

Exercice
Création de procédures, de fonctions stockées et de paquetages.

Gestion des erreurs

  • Traitement d’une exception.
  • Utilisation de RAISE_APPLICATION_ERROR.
  • Déclenchement d’une exception via RAISE.
  • Propagation et gestion transactionnelle.

Exercice
Utilisation de Raise et de RAISE_APPLICATION_ERROR.

Triggers

  • Définition et types de triggers Evénement/Action. Triggers Ordre.
  • Lignes (utilisation de : NEW et : OLD), E/C/A (Evénement/Condition/Action).
  • « INSTEAD OF » sur les vues, sur les événements système.
  • Utilisation des transactions autonomes.

Exercice
Création de triggers ordre et triggers ligne.

Compléments

  • SQL dynamique. Utilisation de dbms_application_info et de WRAP pour cacher le code source.