FORMATION Développer en PL/SQL
Objectifs de la formation PL SQL
Le langage PL/SQL, comme son nom l’indique, est une extension du SQL. C’est un élément clé, voire incontournable, dans le développement des applications ORACLE car il permet d’écrire de véritables interfaces pour masquer l’accès aux données aux programmes clients de la base Oracle. Les procédures stockées, packages, et triggers sont écrits en PL/SQL. Le langage offre aussi à l’administrateur des possibilités pour l’exploitation des bases Oracles. Ce cours a plusieurs objectifs :
- comprendre la place du PL/SQL dans les architectures applicatives
- acquérir la maîtrise du langage PL/SQL.
- maîtriser les interactions entre PL/SQL et ORACLE.
- connaître les fonctions et packages standards.
- savoir écrire des procédures stockées et des packages
- maîtriser la philosophie et la syntaxe des triggers
- disposer d’une charte de développement professionnelle en PL/SQL : conception, codage modulaire, style et méthode de programmation, stratégie de débogage.
A qui s'adresse la formation PL SQL
Ce cours s'adresse aux développeurs d'applications Oracle et aux administrateurs de bases de données désirant acquérir la maîtrise du langage PL/SQL.
Pré-requis :
De bonnes connaissances en informatique sont nécessaires ainsi qu'une connaissance du langage SQL.
Contenu de la formation PL SQL
L'outil SQL Plus (rappel)Quelques problèmes classiques (tnsnames.ora, base arrêtée, listener, …)
Utiliser efficacement le buffer des commandes
Mise en forme des résultats
Stocker les résultats dans un fichier (spool)
Faire des scripts interactifs (accept, define)
Bien positionner SQL *Plus, SQL et PL/SQL.
Ecrire, exécuter et tester des scripts PL/SQL sous Oracle.Que signifie PL dans PL/SQL ?
Principe des blocs PL/SQL (structure générale, begin …end)
Comment le noyau Oracle interprète un programme PL/SQL ?
Types de données et conversion de types.
Le cas particulier des dates (to_date, to_char, nls_date_format)
Liens entre requêtes SQL et variables PL/SQL (variables hôtes).
Les instructions arithmétiques.
Les instructions conditionnelles (IF, ELSE, ELSEIF).
Les boucles (LOOP, FOR).
Les packages prédéfinis (DBMS_..)
TRAVAUX PRATIQUES
Accès à la base - CurseursQuand doit-on utiliser un curseur ?
Le cycle de vie d’un curseur (open, fetch, close)
Simplifier la programmation avec les boucles FOR à curseur
Propriétés des curseurs (%FOUND, %NOTFOUND, %ISOPEN, %ROWCOUNT)
Passer des paramètres à un curseur
Spécificités des curseurs implicites
Curseur en mise à jour (for update)
Que deviennent les curseurs laissés ouverts ?.TRAVAUX PRATIQUES
Procédures stockées et packages en PL/SQL
Différences entre les prototypes des fonctions et des procédures.
Définition et appel d’une procédure stockée.
Les droits d'accès sur les procédures stockées.
Gestion des dépendances.
Pourquoi utiliser des packages ?
En tête et corps de packages .
Les packages prédéfinis fournis par Oracle (dbms_...).
Le SQL dynamique (EXECUTE IMMEDIATE, dbms_sql)TRAVAUX PRATIQUES
Gestion des erreursPhilosophie des exceptions
Les types d'exception (prédéfinie ou utilisateur)
Code erreur et message associé (SQLCODE, SQLERRM)
Capturer les exceptions (when)
Déclencher une exception (raise_application_error).
Fonctions propres à PL/SQL de gestion d'erreurs.
Gestion et propagation des exceptions.
Recommandations pour la gestion des erreursTRAVAUX PRATIQUES
Les triggers
Pourquoi utiliser un trigger (déclencheur) ?
Différents types de triggers
Valeur actuelle et nouvelle valeur ( :NEW, :OLD)
Quand doit-on utiliser la clause for each row ?
Activation et désactivation des triggers (vues DBA_TRIGGERS)
Les triggers sur les vues (INSTEAD OF)
Les triggers sur des événements systèmes
Utiliser les triggers pour implémenter des contraintes d'intégrité
Triggers et transactionTRAVAUX PRATIQUES
La notion de transactionQu’est-ce qu’une transaction ?
Les « garanties » d’ORACLE par rapport aux données
Les instructions COMMIT, ROLLBACK, et SAVEPOINT
La problématique des accès concurrents (verrou)
Exemples de blocages en PL/SQL
La gestion standard des verrous par Oracle
Transactions en lecture seule, niveaux d'isolation, verrouillages implicites et explicites.
Exemple de transaction trop volumineuse (rollback segment)
Recommandations et bonnes habitudesTRAVAUX PRATIQUES.
cours PL/SQL
-PL/SQL
-Formation développement Oracle

22-24 rue du Président Wilson 92300 Levallois-Perret Tél.: 33 (0)1 43 34 90 94 Fax : 33 (0)1 43 34 90 95