Jour 1 : Fondamentaux PL/SQL & Structures de contrĂŽle
Module 1 : Introduction Ă PL/SQL
- Présentation du langage PL/SQL et de ses cas d'usage
- Différences entre SQL et PL/SQL
- Structure d'un bloc PL/SQL : déclaration, exécution, gestion des exceptions
Atelier : Ăcriture et exĂ©cution de blocs anonymes simples
Â
Module 2 : Variables, types et expressions
- Déclaration et portée des variables
- Types de données scalaires (NUMBER, VARCHAR2, DATE) et composites (RECORD, TABLE)
- Opérations arithmétiques, logiques et concaténation
Atelier : Manipulation de variables et expressions dans un bloc PL/SQL
Â
Module 3 : Structures de contrĂŽle & gestion des exceptions
- Instructions conditionnelles : IF, ELSIF, CASE
- Boucles : LOOP, WHILE, FOR
- Gestion des erreurs : exceptions prédéfinies et personnalisées, propagation
Atelier : Script de traitement conditionnel avec gestion d'erreurs
Â
Jour 2 : Curseurs, Procédures et Modularité
Module 4 : Curseurs et gestion des données
- Curseurs implicites vs explicites
- Boucles avec FETCH, FOR, WHILE
- Curseurs paramétrés et gestion de fin de données
Atelier : Parcours d'un ensemble de résultats avec curseur explicite
Â
Module 5 : Procédures et fonctions
- Création de procédures stockées avec paramÚtres IN, OUT, IN OUT
- Création de fonctions retournant des valeurs
- Appels depuis SQL et PL/SQL, gestion des dépendances
Atelier : Développement d'une procédure de traitement automatisé
Â
Module 6 : Packages et modularité
- Structure d'un package : spécification et corps
- Encapsulation des procédures et fonctions
- Variables globales, surcharge de procédures
Atelier : Création d'un package regroupant plusieurs fonctions métier
Â
Jour 3 : Triggers, Optimisation & Bonnes pratiques
Module 7 : Déclencheurs (Triggers)
- Déclencheurs DML : INSERT, UPDATE, DELETE
- BEFORE vs AFTER, sur lignes ou instructions
- Cas d'usage : journalisation, validation, synchronisation
Atelier : Mise en place d'un trigger de journalisation automatique
Â
Module 8 : Optimisation et bonnes pratiques
- Analyse des performances : DBMS_OUTPUT, DBMS_PROFILER
- Structuration du code : indentation, commentaires, modularité
- Bonnes pratiques : gestion des exceptions, lisibilité, réutilisabilité
Atelier : Optimisation d'un script lent et refactorisation