Introduction et rappels
- Outils utilisés. Traitement transactionnel dans Oracle. Objets et dictionnaire d'une base Oracle. SQL et PL/SQL. Vue globale de PL/SQL. 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 dans PL/SQL. Instructions de contrôle : IF- ELSE, la boucle LOOP, la boucle FOR. Types composites : records, tables indexées. Types objets : tables imbriquées et varrays. Définition des sous-programmes : procédures et fonctions. Paramétrage des sous-programmes.
Exercice
Types et déclaration des variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs méthodes. Définition des sous-programmes. Paramètre des sous-programmes.
Accès à la base
- Interaction avec la base et notion de curseur. Accès via curseur implicite : update, delete, insert, select … .into. Utilisation des clauses RETURNING et BULK COLLECT. Les collections et FORALL. Déclaration des curseurs explicites. Utilisation des boucles FOR à curseur et des curseurs en mise à jour. Les variables curseur.
Exercice
Utilisation de curseur explicite et de BULK COLLECT.
Traitements stockés
- Création et 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. Utilisation des contextes d'application.
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 (Statement triggers), Lignes (utilisation de :NEW et :OLD), E/C/A (Evénement/Condition/Action), " INSTEAD OF " sur les vues, sur événements système. Utilisation des transactions autonomes.
Exercice
Création de triggers ordre et triggers ligne. Triggers login.
Compléments
- Utilisation de SQL dynamique : EXECUTE IMMEDIATE et dbms_sql. Utilisation de dbms_application_info. Utilisation de WRAP pour cacher le code source.