Académique Documents
Professionnel Documents
Culture Documents
Introduction PL-SQL
Cline Rouveirol
d'aprs les transparents de Jeff Ullman
http://infolab.stanford.edu/~ullman/
1
Triggers: Motivation
Trigger : principe
CREATE TRIGGER
CREATE TRIGGER <nom>
Aussi:
CREATE OR REPLACE TRIGGER <nom>
Exemple de trigger
AFTER ou BEFORE.
Supposons que la table employ soit vide et que la sousrequte slectionne 3 employs dans la table
employ_tempo. Aprs le insert prcdent (3 nuplets):
Affichage de
Ajoute employ(s)
(1 seule fois)
10
11
Triggers: REFERENCING
Les expressions INSERT impliquent un
nouveau nuplet (row-level) ou un
nouvel ensemble de nuplets
(statement-level).
12
14
Un autre exemple
15
Exemple Trigger
La mise jour
de Vend.prix
Exemple
FROM user_updatable_columns
WHERE table_name ='TripletGagnant';
20
21
22
PL/SQL
Bloc en PL/SQL
DECLARE
<dclarations>
BEGIN
<instructions>
END;
.
run
Dclarations et affectations en
PL/SQL
Example: x := y;
28
Dclarations et affectations en
PL/SQL
DECLARE
prix NUMBER;
maBiere VARCHAR(20);
maBiere Biere.nom%TYPE;
biereNuplet Biere%ROWTYPE;
30
Instructions de branchement en
PL/SQL
ELSE
INSERT INTO T1 VALUES(b+10,a+10);
END IF;
END;
31
Boucles PL/SQL
i := i+1;
END LOOP;
END;
32
Curseurs en PL/SQL
Dclaration de la forme :
CURSOR <name> IS <query>;
Pour dplacer un curseur c,
FETCH c INTO <variable(s)>;
33
Exemple de curseur
34
JoeAugmente(): Dclarations
CREATE OR REPLACE PROCEDURE
JoeAugmente() AS
LaBiere Vend.biere%TYPE;
LePrix Vend.prix%TYPE;
CURSOR c IS
SELECT biere, prix FROM Vend
WHERE bar = Joes Bar;
35
Variables Nuplets
37
38