Construire des unités de programme de façon professionnelle
- Créer et gérer des procédures et des fonctions
- Packages : surcharge (overloading), initialisation, état persistant du package
- Décisions de conception pour un code PL/SQL maintenable
- Gérer les dépendances et le Fine-Grained Dependency Tracking
Collections et traitement Bulk
- Comparaison des tableaux associatifs, Nested Tables et VARRAYs
- BULK COLLECT avec LIMIT, FORALL avec SAVE EXCEPTIONS
- Gestion des erreurs lors du Bulk Binding avec SQL%BULK_EXCEPTIONS
- Pipelined Table Functions
SQL dynamique et packages standard
- Comparaison entre EXECUTE IMMEDIATE et DBMS_SQL
- Packages fournis par Oracle pour le développement d’applications
- DBMS_SCHEDULER, UTL_FILE, DBMS_LOB et DBMS_METADATA
- Native Compilation et utilisation systématique des variables de liaison (bind)
Triggers pour utilisateurs avancés
- Triggers DML, DDL et sur événements de base de données
- Compound Trigger et leur usage
- Identifier et résoudre la problématique des tables mutantes (mutating table)
Objets volumineux et types de données modernes
- LOB et SecureFile LOB
- Traiter des données JSON dans la base de données
- Utiliser les JSON Relational Duality Views depuis PL/SQL
- Le type VECTOR, DBMS_VECTOR et DBMS_VECTOR_CHAIN, chargement de modèles ONNX
Analyse de performance et tuning
- Piloter le compilateur PL/SQL : PLSQL_OPTIMIZE_LEVEL et avertissements du compilateur
- Result Cache pour SQL et PL/SQL
- Profiling et traçage avec DBMS_PROFILER, DBMS_HPROF et PL/Scope
- Mesurer et réduire les Context Switches, PRAGMA UDF et WITH FUNCTION
Sécurité en PL/SQL
- Prévenir les injections SQL : variables de liaison et DBMS_ASSERT
- Definer Rights face à Invoker Rights (AUTHID)
- Privilèges de schéma plutôt qu’autorisations individuelles
- SQL Firewall comme couche de protection supplémentaire
Intégration et perspectives
- Relier PL/SQL à des routines externes C et Java
- JavaScript Stored Procedures comme alternative à PL/SQL
- Select AI et schémas RAG depuis PL/SQL
- Préparation à l’examen 1Z0-149