Oracle Database 11g : Les fondamentaux du langage SQL (I)
Première expérience en programmation
Description Ce cours est destiné aux développeurs ayant une connaissance élémentaire des langages PL/SQL et SQL. Les stagiaires apprendront à développer, exécuter et gérer des programmes PL/SQL stockés tels que des procédures, des fonctions, des packages et des déclencheurs de base de données. Ils apprendront également comment gérer les sous-programmes PL/SQL et les déclencheurs. Par ailleurs, ils étudieront l'utilisation de certains des packages fournis par Oracle. En outre, les stagiaires découvriront comment utiliser le code SQL dynamique, quels sont les éléments à prendre en compte lors du codage en PL/SQL, comment utiliser et contrôler le compilateur PL/SQL et comment gérer les dépendances. Dans ce cours, les stagiaires utilisent Oracle SQL Developer comme outil principal et SQL*Plus est présenté comme outil facultatif. Ce cours fait partie des cours pratiques requis pour la certification d'administrateur Oracle Database 11g. Seuls les cours dispensés par un formateur, en salle ou en ligne, sont admis pour la certification. Les cours suivis à l'aide d'un CD d'auto-apprentissage en ligne ou du Knowledge Center NE SONT PAS reconnus.
Créer et exécuter des procédures et des fonctions stockées
Utiliser les packages fournis par Oracle pour le développement d'applications
Concevoir et utiliser des packages PL/SQL
Créer des déclencheurs afin de résoudre les problèmes métier
Créer des sous-programmes de package surchargés pour plus de flexibilité
Créer et exécuter des instructions SQL de façon dynamique
Objectifs
Créer des sous-programmes de package surchargés pour plus de flexibilité
Créer des déclencheurs afin de résoudre les problèmes métier
Créer et utiliser des procédures et des fonctions stockées
Concevoir du code PL/SQL pour des types de données prédéfinis, des sous-programmes locaux, des programmes supplémentaires et des constantes et exceptions normalisées
Concevoir et utiliser des packages PL/SQL pour le regroupement de structures liées
Gérer les dépendances entre les sous-programmes PL/SQL
Utiliser la compilation conditionnelle pour personnaliser les fonctionnalités d'une application PL/SQL sans supprimer de code source
Utiliser les packages PL/SQL fournis par Oracle pour générer une sortie sur écran, une sortie sous forme de fichier ou de message électronique
Utiliser l'infrastructure d'avertissement du compilateur
Ecrire du code SQL dynamique pour plus de flexibilité
SOMMAIRE
Introduction
Objectifs et contenu du cours
Décrire le schéma Human Resources (HR)
Identifier les annexes utilisées dans ce cours
Répertorier les environnements de développement PL/SQL disponibles dans le cours
Utiliser SQL Developer
Consulter la documentation en ligne sur SQL et PL/SQL pour Oracle 11g ainsi que les ressources supplémentaires disponibles
Créer des procédures stockées
Créer une conception modulaire et par couches de sous-programmes
Modulariser le développement à l'aide de blocs PL/SQL
Décrire l'environnement d'exécution du langage PL/SQL
Avantages liés à l'utilisation des sous-programmes PL/SQL
Différences entre les blocs anonymes et les sous-programmes
Créer, appeler et supprimer des procédures stockées à l'aide de la commande CREATE et de SQL Developer
Utiliser les paramètres de procédure et les modes de paramètres
Visualiser les informations de procédure à l'aide des vues du dictionnaire de données et de SQL Developer
Créer des fonctions stockées
Créer, appeler et supprimer des fonctions stockées à l'aide de la commande CREATE et de SQL Developer
Identifier les avantages des fonctions stockées dans les instructions SQL
Identifier les étapes de création d'une fonction stockée
Utiliser des fonctions définies par l'utilisateur dans les instructions SQL
Restrictions liées aux appels de fonctions à partir d'instructions SQL
Contrôler les effets de bord lors de l'appel de fonctions à partir d'expressions SQL
Afficher les informations relatives aux fonctions
Créer des packages
Décrire les avantages des packages
Décrire les packages
Décrire les composantes d'un package
Développer un package
Visibilité des composants d'un package
Créer la spécification et le corps du package à l'aide de l'instruction SQL CREATE et de SQL Developer
Appeler les structures de package
Afficher le code source PL/SQL à l'aide du dictionnaire de données
Utiliser des packages
Surcharger des sous-programmes dans PL/SQL
Utiliser le package STANDARD
Utiliser les pré-déclarations pour résoudre la référence de procédure illicite
Utiliser des fonctions de package en langage SQL - Restrictions
Etat persistant des packages
Etat persistant d'un curseur de package
Contrôler les effets de bord des sous-programmes PL/SQL
Utiliser des tables PL/SQL d'enregistrements dans des packages
Utiliser les packages fournis par Oracle pour le développement d'applications
Utiliser les packages fournis par Oracle
Exemples de packages fournis par Oracle
Fonctionnement du package DBMS_OUTPUT
Utiliser le package UTL_FILE pour interagir avec les fichiers du système d'exploitation
Utiliser le package UTL_MAIL
Utiliser les sous-programmes UTL_MAIL
Utiliser le code SQL dynamique
Flux d'exécution du code SQL
Définition du code SQL dynamique
Déclarer des variables de curseur
Exécuter dynamiquement un bloc PL/SQL
Utiliser du code SQL dynamique natif pour compiler le code PL/SQL
Utiliser le package DBMS_SQL
Utiliser le package DBMS_SQL avec une instruction LMD paramétrée
Exhaustivité fonctionnelle du code SQL dynamique
Considérations relatives à la conception du code PL/SQL
Normaliser les constantes et les exceptions
Utiliser des sous-programmes locaux
Utiliser des transactions autonomes
Utiliser le hint de compilateur NOCOPY
Utiliser le hint PARALLEL_ENABLE
Utiliser le cache des résultats de fonction PL/SQL intersession
Utiliser la clause DETERMINISTIC avec des fonctions
Utiliser la liaison en masse pour améliorer les performances
Créer des déclencheurs
Utiliser des déclencheurs
Identifier les types d'événement déclencheur et le corps d'un déclencheur
Scénarios d'application métier pour l'implémentation de déclencheurs
Créer des déclencheurs LMD à l'aide de l'instruction CREATE TRIGGER et de SQL Developer
Identifier les types d'événement déclencheur, ainsi que le corps et le point d'exécution d'un déclencheur
Déclencheurs au niveau instruction et déclencheurs au niveau ligne
Créer un déclencheur INSTEAD OF et un déclencheur désactivé
Gérer, tester et supprimer des déclencheurs
Gérer, tester et supprimer des déclencheurs
Utiliser des déclencheurs combinés
Identifier les sections de point de déclenchement d'un déclencheur combiné de table
Structure de déclencheur combiné pour les tables et les vues
Utiliser un déclencheur combiné pour résoudre l'erreur de table en mutation
Comparaison des déclencheurs de base de données et des procédures stockées
Créer des déclencheurs sur les instructions LDD
Créer des déclencheurs d'événement de base de données et des déclencheurs sur des événements système
Privilèges système requis pour gérer les déclencheurs
Utiliser le compilateur PL/SQL
Utiliser le compilateur PL/SQL
Utiliser les paramètres d'initialisation pour la compilation PL/SQL
Utiliser les nouveaux avertissements de compilation PL/SQL
Présentation des avertissements de compilation PL/SQL pour les sous-programmes
Avantages des avertissements du compilateur
Catégories des messages d'avertissement de compilation PL/SQL
Définir les niveaux des messages d'avertissements avec SQL Developer, le paramètre d'initialisation PLSQL_WARNINGS et les sous-programmes du package DBMS_WARNING
Afficher les avertissements du compilateur à l'aide de SQL Developer, SQL*Plus ou des vues du dictionnaire de données
Gérer le code PL/SQL
Définition et fonctionnement de la compilation conditionnelle
Utiliser les directives de sélection
Utiliser des directives d'interrogation prédéfinies et définies par l'utilisateur
Paramètre PLSQL_CCFLAGS et directive d'interrogation
Utiliser les directives d'erreur de la compilation conditionnelle pour générer des erreurs définies par l'utilisateur
Utiliser le package DBMS_DB_VERSION
Utiliser les procédures DBMS_PREPROCESSOR pour imprimer ou extraire du texte source
Brouiller dynamiquement et encapsuler du code PL/SQL
Gérer les dépendances
Présentation des dépendances d'objet de schéma
Interroger les dépendances d'objet directes à l'aide de la vue USER_DEPENDENCIES
Interroger le statut d'un objet
Invalidation d'objets dépendants
Afficher les dépendances directes et indirectes
Gestion détaillée des dépendances dans Oracle Database 11g