1
Introduction
Copyright © Oracle, 2004. Tous droits réservés.
Objectifs
A la fin de ce chapitre, vous pourrez :
• décrire les objectifs de ce cours
• détailler le contenu du cours
• identifier les tables de base de données utilisées
dans le cours
• identifier les produits Oracle qui contribuent à la
conception d'une solution métier complète
Copyright © Oracle, 2004. Tous droits réservés.
Objectifs du cours
A la fin de ce cours, vous pourrez :
• décrire les extensions de programmation du
langage SQL offertes par le langage PL/SQL
• écrire du code PL/SQL permettant l'interaction
avec la base de données
• concevoir des programmes PL/SQL qui
s'exécutent de manière efficace
• utiliser des structures de programmation PL/SQL
et des instructions de contrôle conditionnel
• traiter les erreurs d'exécution
• décrire les procédures et fonctions stockées
Copyright © Oracle, 2004. Tous droits réservés.
Contenu du cours
Chapitres étudiés le premier jour :
I. Introduction
1. Introduction au langage PL/SQL
2. Déclarer des variables PL/SQL
3. Créer la section exécutable
4. Interagir avec le serveur de base de données
Oracle
5. Ecrire des structures de contrôle
Copyright © Oracle, 2004. Tous droits réservés.
Contenu du cours
Chapitres étudiés le deuxième jour :
6. Utiliser des types de données composites
7. Utiliser des curseurs explicites
8. Inclure le traitement des exceptions
9. Créer des procédures stockées et des fonctions
stockées
Copyright © Oracle, 2004. Tous droits réservés.
Le jeu de données Human Resources (hr)
Copyright © Oracle, 2004. Tous droits réservés.
Plate-forme Internet d'Oracle
Clients
Navigateur Client de Client FTP
quelconque messagerie quelconque
quelconque
Outils de développement
Applications Internet
Gestion du système
Logique de
Logique métier présentation SQL
et données et logique métier
PL/SQL
Bases de Serveurs
données d'applications
Java
Services réseau
Copyright © Oracle, 2004. Tous droits réservés.
1
Introduction au langage PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Objectifs du chapitre
A la fin de ce chapitre, vous pourrez :
• expliquer la nécessité du langage PL/SQL
• présenter les avantages liés à l'utilisation du
langage PL/SQL
• identifier les différents types de bloc PL/SQL
• utiliser iSQL*Plus en tant qu'environnement de
développement pour le langage PL/SQL
• afficher des messages en langage PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Définition du langage PL/SQL
PL/SQL :
• Signifie "Procedural Language extension to SQL"
(extension procédurale du langage SQL)
• Est le langage standard d'accès aux données
d'Oracle Corporation pour les bases de données
relationnelles
• Intègre de manière transparente les structures
procédurales au langage SQL
Copyright © Oracle, 2004. Tous droits réservés.
A propos du langage PL/SQL
Le langage PL/SQL :
• Offre une structure de bloc pour les unités de
code exécutables. La maintenance du code est
facilitée avec une structure bien définie.
• Fournit des structures procédurales telles que :
– Variables, constantes et types
– Structures de contrôle, telles que les instructions
conditionnelles et les boucles
– Programmes réutilisables écrits une fois et
exécutés plusieurs fois
Copyright © Oracle, 2004. Tous droits réservés.
Environnement PL/SQL
Moteur PL/SQL
Programme
procédural d'exécution des
Bloc instructions
PL/SQL procédurales
SQL
Programme d'exécution
des instructions SQL
Serveur de base de données Oracle
Copyright © Oracle, 2004. Tous droits réservés.
Avantages liés à l'utilisation
du langage PL/SQL
• Intégration de structures procédurales au langage SQL
• Performances améliorées
SQL 1
SQL 2
…
SQL
IF...THEN
SQL
ELSE
SQL
END IF;
SQL
Copyright © Oracle, 2004. Tous droits réservés.
Avantages liés à l'utilisation
du langage PL/SQL
• Développement de programme modulaire
• Intégration aux outils Oracle
• Portabilité
• Traitement des exceptions
Copyright © Oracle, 2004. Tous droits réservés.
Structure d'un bloc PL/SQL
DECLARE (facultatif)
Variables, curseurs, exceptions définies par
l'utilisateur
BEGIN (obligatoire)
- Instructions SQL
- Instructions PL/SQL
EXCEPTION (facultatif)
Actions à effectuer
lorsque des erreurs
se produisent
END; (obligatoire)
Copyright © Oracle, 2004. Tous droits réservés.
Types de bloc
Anonyme Procédure Fonction
[DECLARE] PROCEDURE name FUNCTION name
IS RETURN datatype
IS
BEGIN BEGIN BEGIN
--statements --statements --statements
RETURN value;
[EXCEPTION] [EXCEPTION] [EXCEPTION]
END; END; END;
Copyright © Oracle, 2004. Tous droits réservés.
Environnements de programmation
PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Environnements de programmation
PL/SQL
iSQL*Plus
Copyright © Oracle, 2004. Tous droits réservés.
Environnements de programmation
PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Architecture iSQL*Plus
Copyright © Oracle, 2004. Tous droits réservés.
Créer un bloc anonyme
Tapez le bloc anonyme dans l'espace de travail iSQL*Plus :
Copyright © Oracle, 2004. Tous droits réservés.
Exécuter un bloc anonyme
Cliquez sur le bouton Execute pour exécuter le bloc
anonyme :
PL\SQL procedure successfully completed.
Copyright © Oracle, 2004. Tous droits réservés.
Tester la sortie d'un bloc PL/SQL
• Activez la sortie dans iSQL*Plus avec la commande
SET SERVEROUTPUT ON.
• Utilisez un package Oracle prédéfini et sa
procédure :
– DBMS_OUTPUT.PUT_LINE
SET SERVEROUTPUT ON
…
DBMS_OUTPUT.PUT_LINE(' The First Name of the
Employee is ' || f_name);
…
Copyright © Oracle, 2004. Tous droits réservés.
Tester la sortie d'un bloc PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Synthèse
Ce chapitre vous a permis d'apprendre à :
• intégrer des instructions SQL aux structures de
programme PL/SQL
• identifier les avantages liés à l'utilisation du
langage PL/SQL
• différencier les différents types de bloc PL/SQL
• utiliser iSQL*Plus en tant qu'environnement de
programmation pour le langage PL/SQL
• afficher des messages en langage PL/SQL
Copyright © Oracle, 2004. Tous droits réservés.
Présentation de l'exercice 1
Cet exercice porte sur les points suivants :
• identifier les blocs PL/SQL qui s'exécutent
avec succès
• créer et exécuter un bloc PL/SQL simple
Copyright © Oracle, 2004. Tous droits réservés.