Ce cours s’adresse aux développeurs ou aux administrateurs ayant besoin d’avoir une très bonne connaissance de PL/SQL. Il nécessite une bonne connaissance d’Oracle et de SQL. La connaissance d’un langage quelconque de programmation de haut niveau (C, Fortran, Pascal, …) est indispensable.
Plan détaillé
Introduction et rappels
- Outils utilisés : sqlplus et SQL Developer.
- Introduction aux transactions.
- Rappels sur les types d’Oracle.
- Fonctions prédéfinies.
- Survol de PL/SQL.
- Objets d’une base Oracle.
Éléments du langage PL/SQL
- Première approche pratique au langage.
- Introduction syntaxique à PL/SQL.
- Types et conversion des types.
- Instructions composées de PL/SQL.
- Définition des sous-programmes.
- Paramètres de sous-programmes.
- Types composites dans PL/SQL : RECORDs, COLLECTIONs.
- Introduction à la gestion des erreurs.
Travaux pratiques : la conversion des types, les sous-programmes, les records, les collections
Accès à la base Oracle
- Interaction entre PL/SQL et la base Oracle.
- Utilisation du curseur implicite.
- Utilisation du curseur explicite.
- Utilisation de BULK COLLECT.
- Utilisation de FORALL.
- Utilisation des variables curseurs.
Travaux pratiques : Curseurs implicites, curseurs explicites, BULK COLLECT, FORALL, variables curseurs.
Traitements stockés
- Sous-programmes stockés : procédures et fonctions.
- Création et utilisation de packages.
- Gestion des traitements stockés.
- Utilisation des curseurs explicites dans les packages.
- État d’un package et utilisation de la directive SERIALLY_REUSABLE.
- Gestion des effets de bord et utilisation des traitements stockés dans SQL.
- Utilisation du cache de résultat pour les fonctions.
Travaux pratiques : les travaux pratiques concernent l’ensemble des points énumérés.
Gestion des erreurs
- Traitement des erreurs sans exception associée : fonctions SQLCODE et SQLERRM.
- Provocation intentionnelle d’erreur : RAISE et RAISE_APPLICATION_ERROR.
- Atomicité des opérations et propagation des erreurs.
Travaux pratiques: usage de SQLCODE et de SQLERRM, usage de RAISE_APPLICATION_ERROR.
Triggers
- Triggers sur événements LMD.
- Triggers de niveau instruction.
- Triggers de niveau ligne.
- Atomicité des opérations et modèle d’exécution des triggers LMD.
- Triggers E/C/A et utilisation de la clause WHEN.
- Triggers sur instructions LDD.
- Triggers sur événemets système.
- Triggers LMD composites.
Travaux pratiques : les travaux pratiques concernent l’ensemble des rubriques énumérées.
Techniques et fonctionnalités utiles de PL/SQL
- Gestion des droits sur les traitements stockés.
- Transactions et PL/SQL, transactions autonomes.
- Les différentes techniques d’utilisation de SQL dynamique.
- Utilisation des fonctions déterministes (DETERMINISTIC).
- Utilisation des fonctions PIPELINED.
Travaux pratiques : les travaux pratiques concernent l’ensemble des rubriques énumérés.