Introduction et rappels
- Architecture d’un serveur.
- Différences entre SQL et PL/SQL
- Evolutions de PL/SQL.
- Traitements transactionnels
- Outils de développement
- Documentation Oracle
Echanges
Autour de SQL et de Oracle Database.
Eléments du langage
- Types de données scalaires.
- Déclarations de variables et constantes.
- Attributs de typage (%TYPE et %ROWTYPE).
- Blocs anonymes et sous-blocs d’instructions.
- Affichage de résultats.
- Types composites (records et tables associatives).
- Structures de contrôles (IF, WHILE et FOR)..
Exercice
Déclaration de variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs méthodes.
Accès à la base
- SELECT avec PL/SQL.
- Mises à jour avec le DML (INSERT, UPDATE, DELETE).
- Curseur DML (variables de curseur SQL%).
- Curseurs explicites et implicites.
- Clause RETURNING du DML.
- Traitements de masse (BULK COLLECT). Collections et FORALL.
- Transactions (COMMIT, ROLLBACK et SAVEPOINT).
- DDL avec PL/SQL (EXECUTE IMMEDIATE).
Exercice
Ecritures de scripts PL/SQL. Mise en œuvre des différents types de curseurs. Mises à jour avec BULK COLLECT
Traitements stockés
- Procédures et fonctions stockées.
- Transactions autonomes.
- Packages applicatifs.
- Gestion des privilèges et dépendances.
- Recompilation.
Exercice
Création de procédures, de fonctions stockées et de packages. Appels dans différents contextes.
Gestion des exceptions
- Classification des exceptions (prédéfinies, personnalisées et non prédéfinies).
- Traitement des exceptions.
- Propagations des exceptions.
- Procédure RAISE_APPLICATION_ERROR.
- Récupération d’erreurs.
Exercice
Mise en place des différents types d’exceptions et de RAISE_APPLICATION_ERROR. Récupération d’erreurs.
Déclencheurs (Triggers)
- Comparaison déclencheurs et sous-programmes.
- Classification des déclencheurs.
- Déclencheurs ligne (FOR EACH ROW).
- Multi-événements (Regroupements d’événements).
- Statement triggers (Déclencheurs d'instructions).
- Déclencheurs de vues (INSTEAD OF).
- Déclencheurs composés.
- Gestion des déclencheurs.
Exercice
Programmation de différents types de déclencheurs (DML, composés et de vues). Récupération d’une erreur retournée par un déclencheur.