2012 Hakim Benameurlaine 1
Notes de cours
PL/SQL (Oracle 11g)
Hakim Benameurlaine
Décembre 2012
2012 Hakim Benameurlaine 2
Table of Contents
1 PRÉSENTATION DU PL/SQL ............................................................................... 5
1.1 Bloc PL/SQL..................................................................................................... 5
1.2 Les variables ..................................................................................................... 7
1.3 Les variables d’environnements ........................................................................ 8
1.4 Les opérateurs ................................................................................................. 13
1.5 Utilisation des tables temporaires .................................................................... 15
1.6 Type défini par l’utilisateur ............................................................................. 18
1.7 Les commentaires............................................................................................ 19
1.8 Les curseurs .................................................................................................... 21
1.9 Les scripts ....................................................................................................... 23
2 INSTRUCTIONS CONDITIONELLES ................................................................ 25
2.1 IF..THEN ........................................................................................................ 25
2.2 INSTRUCTION IF .......................................................................................... 26
2.2.1 IF..THEN..ELSE ...................................................................................... 26
2.2.2 IF..THEN..ELSEIF .................................................................................. 27
2.2.3 IF..THEN..ELSEIF..ELSE ....................................................................... 28
2.3 INSTRUCTION CASE ................................................................................... 29
3 INSTRUCTIONS RÉPÉTITIVES ......................................................................... 31
3.1 INSTRUCTION LOOP ................................................................................... 31
3.2 INSTRUCTION FOR...................................................................................... 32
3.3 INSTRUCTION WHILE ................................................................................. 33
4 LES PROCÉDURES STOCKÉES ......................................................................... 34
4.1 Création d’une procédure ................................................................................ 36
4.2 Appel d’une procédure .................................................................................... 37
4.3 Utilisation des paramètres ............................................................................... 38
4.4 Modification d’une procédure ......................................................................... 45
4.5 Recompiler une procédure ............................................................................... 46
4.6 Supression d’une procédure ............................................................................. 47
5 LES FONCTIONS ................................................................................................. 48
5.1 Création d’une fonction sclalaire ..................................................................... 48
5.2 Appel d’une fonction scalaire .......................................................................... 50
5.3 Modification d’une fonction ............................................................................ 57
5.4 Suppresion d’une fonction ............................................................................... 58
5.5 Les fonctions prédéfinis .................................................................................. 59
6 LES PACKAGE PL/SQL ...................................................................................... 69
6.1 PACKAGE SPECIFICATION ........................................................................ 69
6.2 PACKAGE BODY .......................................................................................... 69
6.3 EXEMPLE PRATIQUE .................................................................................. 70
7 LES VUES ............................................................................................................ 75
7.1 Création d’une vue .......................................................................................... 75
7.2 Utiliser une vue ............................................................................................... 80
7.3 Suppression d’une vue ..................................................................................... 82
2012 Hakim Benameurlaine 3
7.4 Modifier une vue ............................................................................................. 83
7.5 Recompiler une vue ......................................................................................... 85
8 GESTION DES TRANSACTIONS ....................................................................... 86
8.1 Introduction ..................................................................................................... 86
8.2 Quand Commence et Finit une Transaction ? ................................................... 86
8.3 Ordres de Contrôle Explicite des Transactions ................................................. 86
8.4 Traitement Implicite des Transactions ............................................................. 87
8.5 État des Données Avant COMMIT ou ROLLBACK ....................................... 87
8.6 État des Données APRES COMMIT ............................................................... 87
9 LES TRIGGERS ................................................................................................... 98
9.1 Creation d'un trigger ........................................................................................ 99
9.2 Fonction UPDATING ................................................................................... 100
9.3 Trigger AFTER INSERT............................................................................... 103
9.4 Trigger BEFORE DELETE ........................................................................... 105
9.5 Trigger BEFORE UPDATE .......................................................................... 107
9.6 Auditer les modifications sur des colonnes spécifiques .................................. 109
9.7 Trigger de base de données............................................................................ 112
9.8 Supprimer un trigger ..................................................................................... 115
9.9 Recompiler un trigger .................................................................................... 116
9.10 Modifier la définition d’un trigger.............................................................. 116
10 GESTION DES ERREURS ................................................................................. 117
10.1 Traitement des execptions .......................................................................... 117
10.2 Définir une execption personalisée ............................................................. 120
11 Script de création de la base de données (Oracle 11g) .......................................... 122
2012 Hakim Benameurlaine 4
NOTE IMPORTANTE
Rapporter des erreurs ou des suggestions est
une façon très utile de m’aider à améliorer cette
documentation.
Merci d’avance
Hakim Benameurlaine
hbenameurlaine@cmaisonneuve.qc.ca
2012 Hakim Benameurlaine 5
1 PRÉSENTATION DU PL/SQL
Le langage PL/SQL permet de normaliser le développement d’applications liées aux
Bases de Données. C’est une extension du langage SQL développé par IBM
(International Business Machine) dans les années 1970. C’est un langage procédural
par opposition à SQL qui est un langage déclaratif.
1.1 Bloc PL/SQL
Un bloc PL/SQL typique est constitué par les trois partie suivantes :
Partie DECLARE dans laquelle on déclare les variables.
Partie traitement entre BEGIN et END.
Partie EXCEPTION pour le traitement des exceptions.
DECLARE
--Déclaration des variables (partie optionnelle)
BEGIN
--Code PL/SQL (si aucun code alors mettre null;)
EXCEPTION
--Traitement des exceptions (partie optionnelle)
END;
Voici un bloc PL/SQL minimal :
BEGIN
NULL;
END
1 / 127 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !