Vous apprendrez à
- Développer des programmes PL/SQL efficaces pour accéder aux bases Oracle
- Créer des procédures stockées et des fonctions pour une réutilisation maximale et une maintenance du code minimale
- Concevoir des applications modulaires avec des packages
- Gérer la récupération des données pour les applications frontales
- Utiliser les collections pour transférer des données en masse et améliorer les performances
- Invoquer du SQL dynamique natif pour développer du code de haut niveau
Objectif
Le langage PL/SQL pour Oracle — une extension procédurale souple de SQL — augmente la productivité, la performance, l'évolutivité, la portabilité et la sécurité. Lors de cette formation, vous acquerrez les connaissances pratiques pour écrire des programmes PL/SQL. Vous apprendrez à créer des procédures stockées, à concevoir et exécuter des applications modulaires ainsi qu'à assurer le mouvement de données.
À qui s'adresse cette formation
Programmeurs et tous ceux qui utilisent PL/SQL. Des connaissances pratiques de SQL et PL/SQL du niveau de la formation 926, "
Introduction complète à Oracle Database 11g", ou de la formation 593, "
Introduction complète à Oracle Database 10g", sont nécessaires.
Travaux pratiques
Grâce aux exercices, vous acquerrez une expérience pratique de l'écriture de code PL/SQL :
- Intégration des instructions de manipulation de données dans des procédures stockées et des packages
- Manipulation complexe de données avec des curseurs
- Utilisation des EXCEPTIONs pour gérer les erreurs d'exécution
- Création de triggers pour l'intégrité et le calcul des données dérivées
- Utilisation de variables curseurs pour le SQL dynamique
- Dénormalisation des données avec des fonctions écrites par l'utilisateur
- Création de variables dans les packages sans corps pour le traitement des sessions
Contenu détaillé
Introduction et vue d'ensemble
Les bases du PL/SQL
- Déclaration des variables
- Lier les variables aux définitions de la base
- Instructions de contrôle de flux
Fonctions PL/SQL d'Oracle 9i et 10g
- Transfert de données en masse en SQL dynamique natif
- Structure de contrôle CASE
- Référencer des enregistrements PL/SQL dans des ordres DML
- Amélioration des performances grâce à la compilation native
- Gestion des expressions régulières avec les fonctions d'Oracle 10g
- Tableaux associatifs indicés par VARCHAR2
- Opérateurs ensemblistes pour les collections
Manipulation des données
Gestion des données avec les instructions DML
- Utilisation de la clause RETURNING INTO
- Résolution du problème d'extraction à travers les COMMIT
Récupération avec les curseurs
- Curseurs implicites et explicites
- Attributs des curseurs
- Simplification du traitement de curseurs avec FOR LOOP
- Intégration d'expressions curseurs dans des instructions SELECT
Variables curseurs
- Variables curseurs faiblement ou fortement typées
- Passage des variables curseurs vers d'autres programmes
- Définition de REF CURSORS dans les packages
Développement de code
Gestion des erreurs avec les EXCEPTIONs
- EXCEPTIONs prédéfinies et définies par l'utilisateur
- Propagation et portée
- Soumettre de nouveau une transaction en erreur avec le traitement EXCEPTION
Débogage des blocs PL/SQL
- Simplification du test et du débogage grâce à la compilation conditionnelle
- Interprétation des messages du compilateur
- Utilisation de techniques de test structurées
Obtenir une réutilisation maximale
Écriture de fonctions et de procédures stockées
- Invocation d'une logique côté serveur
- Passage de paramètres en entrée et en sortie
- Mise en œuvre d'une transaction autonome
- Droits du propriétaire vs. de l'appelant
Codage de fonctions utilisateur
- Appel des fonctions PL/SQL à partir du SQL
- Construction de fonctions valeur table
Développement de triggers sécurisés
- Utilisation des variables : OLD et : NEW dans les triggers de niveau ligne
- Mise en œuvre de règles de gestion complexes
- Éviter les éléments peu fiables dans les triggers
- Exploitation de nouveaux triggers de niveau base de données et schéma
Exploitation de données complexes
Types collections
- Tables PL/SQL, imbriquées, VARRAYs
- Collections denses et non consécutives
Transfert de données en masse
- Échange de données entre blocs PL/SQL
- BULK COLLECT INTO
- FOR ALL
- Attributs curseurs BULK
- Traitement de BULK EXCEPTION
Invocation de SQL dynamique natif
Les nouvelles instructions
- L'instruction EXECUTE IMMEDIATE
- La clause RETURNING INTO
Types de SQL dynamique
- Construction d'instructions SQL au moment de l'exécution
- Génération automatique de code standard
Techniques avec les packages
- Structure des packages : spécification et corps
- Suppression des problèmes de dépendance
- Surcharge pour des effets polymorphiques
- Évaluation des structures d'application
- Packages sans corps pour stocker toutes les définitions de l'application
- Déclaration et utilisation de variables globales et persistantes
|
<< Bases de données Oracle
Formations liées à ce sujet
Oracle est une marque déposée d'Oracle Corporation. PL/SQL est une marque d'Oracle Corporation.