Oracle : Objets Procéduraux

Objectifs

  • - développer, exécuter et gérer des unités de programme stockées PL\SQL
  • - comment gérer des sous-programmes PL/SQL et des déclencheurs
  • - utilisation de certains des packages fournis par Oracle
  • - Par ailleurs, ce cours montre comment utiliser du code SQL dynamique, comment concevoir du code PL/SQL performant, comment influencer le compilateur PL/SQL et comment gérer les dépendances.

Pré-requis

connaissance de base du langage PL/SQL, expérience en programmation

Profil stagiaire

développeurs Forms, analystes système, ingénieurs support, développeurs d'applications, développeurs PL/SQL, administrateurs DBA

Profil animateur

consultant informaticien spécialiste

Introduction

Description du schéma Human Resources (HR)
Présentation des environnements de développement PL/SQL disponibles pour le cours
Utiliser SQL Developer
Présentation de la documentation en ligne sur Oracle 11g SQL et PL/SQL et des autres ressources disponibles

Créer des procédures stockées

Créer des sous-programmes en utilisant une conception modulaire par couches
Modulariser le développement à l'aide de blocs PL/SQL
Comprendre l'environnement d'exécution PL/SQL
Bénéfices de 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 des paramètres de procédure et des modes
Consulter les informations sur les procédures à 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 de l'utilisation des fonctions stockées dans les instructions SQL
Créer, appeler et supprimer des fonctions stockées à l'aide de la commande CREATE et de SQL Developer
Avantages des fonctions définies par l'utilisateur dans les instructions SQL
Restrictions relatives aux appels de fonction à partir d'instructions SQL
Contrôler les effets de bord liés aux appels de fonction à partir d'expressions SQL
Consulter les informations sur les fonctions

Créer des packages

Enumérer les avantages des packages
Description des packages
Composants d'un package
Développer un package
Visibilité des composants d'un package
Créer une spécification et un corps de 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 les packages

Surcharger des sous-programmes dans PL/SQL
Utiliser le package STANDARD
Utiliser des pré-déclarations pour résoudre les références de procédure illégales
Utiliser des fonctions de package dans SQL et restrictions liées
Etat persistant des packages
Etat persistant d'un curseur de package
Contrôler les effets de bords des sous-programmes PL/SQL
Utiliser des tables PL/SQL d'enregistrements dans les 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 d'un 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 du code SQL dynamique

Flux d'exécution de SQL
Présentation du code SQL dynamique
Déclarer des variables de curseur
Exécuter un bloc PL/SQL de manière dynamique
Utiliser le SQL dynamique natif pour compiler du code PL/SQL
Utiliser le package DBMS_SQL
Utiliser 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 conseil de compilation NOCOPY
Utiliser le conseil PARALLEL_ENABLE
Utiliser le cache de résultats intersessions des fonctions PL/SQL
Utiliser la clause DETERMINISTIC avec les fonctions
Utiliser des liaisons en masse pour améliorer les performances

Créer des déclencheurs

Utiliser des déclencheurs
Identifier les types d'événement déclencheur
Scénarios d'application métier pour l'implémentation de déclencheurs
Créer des déclencheurs LMD à l'aide d'instructions CREATE TRIGGER et de SQL Developer
Identifier les types, le corps et la planification des événements déclencheurs
Différences entre les déclencheurs de niveau instruction et les déclencheurs de niveau ligne
Créer des déclencheurs Instead of et Disabled
Gérer, tester et supprimer des déclencheurs

Créer des déclencheurs combinés, des déclencheurs LMD et des déclencheurs de base de données

Utiliser des déclencheurs combinés
Identifier les points de déclenchement d'un déclencheur combiné sur une table
Structure d'un déclencheur combiné pour les tables et les vues
Utiliser un déclencheur combiné pour résoudre les erreurs liées aux tables en mutation
Différences entre les déclencheurs de base de données et les procédures stockées
Créer des déclencheurs sur des instructions LDD
Créer des déclencheurs liés à des événements de base de données et à des événements système
Privilèges système requis pour gérer les déclencheurs

Utiliser le compilateur PL/SQL

Utiliser les paramètres d'initialisation du compilateur PL/SQL
Utiliser les nouveaux avertissements PL/SQL du compilateur
Présentation des avertissements PL/SQL générés par le compilateur pour les sous-programmes
Bénéfices des avertissements du compilateur
Catégories de messages d'avertissement du compilateur PL/SQL
Définir le niveau des messages d'avertissement : Utiliser SQL Developer, paramètre d'initialisation PLSQL_WARNINGS, et sous-programmes de package DBMS_WARNING
Afficher les avertissements du compilateur : Utiliser SQL Developer, SQL*Plus ou les vues du dictionnaire de données

Gérer le code PL/SQL

Présentation de la compilation conditionnelle et description de son fonctionnement
Utiliser des 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
Brouillage dynamique et encapsulation de code PL/SQL

Gérer les dépendances

Présentation des dépendances entre les objets de schéma
Rechercher les dépendances directes entre objets à l'aide de la vue USER_DEPENDENCIES
Rechercher le statut d'un objet
Invalidation des objets dépendants
Afficher les dépendances directes et indirectes
Gérer les dépendances de niveau fin dans une base Oracle Database 11g
Présentation des dépendances distantes
Recompiler une unité de programme PL/SQL

Cette formation est susceptible d’être modifiée en cours d’année, les dates et les prix pourront évoluer

du 29 au 31 mai 2012

à Paris

du 09 au 11 juillet 2012

à Paris

du 03 au 05 septembre 2012

à Paris

du 08 au 10 octobre 2012

à Paris

du 12 au 14 novembre 2012

à Paris

du 10 au 12 décembre 2012

à Paris

Stage / CODE : IBD05

3 jours (21 heures)

1 770€ (HT)

Contact

Catherine ROY

01 44 94 14 90

croy@demos.fr

 Les prochaines dates

du 29 au 31 mai 2012

à Paris

du 09 au 11 juillet 2012

à Paris

du 03 au 05 septembre 2012

à Paris

du 08 au 10 octobre 2012

à Paris

du 12 au 14 novembre 2012

à Paris

Compétences visées

Créer et exécuter des procédures et des fonctions stockées

Concevoir et utiliser des packages PL/SQL

Créer des sous-programmes de package surchargés pour obtenir plus de flexibilité

Utiliser les packages fournis par Oracle pour le développement d'applications

Créer des déclencheurs pour résoudre des problèmes fonctionnels

Créer et exécuter des instructions SQL de manière dynamique