Sie sind auf Seite 1von 3

Les triggers

Les triggers peuvent intercepter les opérations sur les données de la table avant
qu'elles ne soient définitivement appliquées,
triggers est un programme qui se déclanche automatiquement suite à un évenement
les types de triggers
 INSTEAD OF :
Sont exécutés à la place de l'action de déclenchement ;
Au lieu d’insertion ou de modification ou de suppression faire(des instructions )

 FOR :

Sont exécutés avec l'action de déclenchement ;


avec l’insertion ou de modification ou de suppression faire(des instructions )

 AFTER :

Sont exécutés après l'action de déclenchement faire(des instructions )


après l’insertion ou de modification ou de suppression faire(des instructions )

Les triggers permettent de créer des tables virtuelles


Evénement Table inserted Table deleted
INSERT Enregistrer La ligne vide
DELETE vide enregistrer La ligne
UPDATE Enregistrer la nouvelle ligne enregistrer l'ancienne ligne

syntax trigger :
// creation de trigger
create trigger (nom trigger)
//application sur la table
on (nom table)
//type de trigger
instead of | for | after ------- insert | update | delete
//debut de trigger
As begin
// le corps de trigger
Les instruction
// la fin de trigger
end

1 - Créer un trigger pour interdire la suppression à partir de la table étudiant, ce trigger doit afficher
tous les enregistrement de table étudiant .
2 - Créer un trigger qui afficher un message de ‘l’ajout effectué avec succès ‘ et afficher tous les
étudiants lors d’ajouter un nouveau étudiant .
3 - Créer un trigger qui afficher le nombre d’étudiants de nom ‘siham’ après la modification de nom
de 1ere étudiant à ce nom .
1-
create trigger ANNULER
ON etudiant
instead of delete
as
begin
select * from etudiant
end

delete from etudiant where id_etudiant = 7

2–
create trigger AJOUT
ON etudiant
for insert
as
begin
print 'ajout effectué avec succès'
select * from etudiant
end

insert into etudiant values(8,'HH78345','siham',1);

3–
alter trigger AFFICHE
ON etudiant
after update
as
begin
select count(*) as nbr from etudiant where Nom_etudiant = 'siham'
end

update etudiant set Nom_etudiant = 'siham' where id_etudiant = 1

Exercices
1- Créer un trigger qui permet de supprimer une branche et les étudiants de cette branche lors de
suppression d’une branche .
2- Créer un trigger qui permet d’annuler l’insertion à la table branche pour les branche qui ont un
nombre des étudiant supérieur a 30 et afficher un message d’erreur

1-
select * from branche
select * from etudiant

create trigger ttr


ON branche
instead of delete
as
begin
delete etudiant where id_brache = (select id_brache from deleted)
delete branche where id_brache = (select id_brache from deleted)
end

delete branche where id_brache = 2

select * from branche


select * from etudiant

2 –
create trigger Anullerbranche
on branche
for insert
as begin
if(select nbr_etudiant from inserted) > 30
begin
print 'le nombre des etudiants est suppérieur a niveau maximum '
rollback
end
end

insert into branche(id_brache,Nom_branche,nbr_etudiant) values(5,'TCM',35);

les vues
une vue est une requête nommé , qui permet de découper les traitements, en donnant l'illusion de manipuler
une table .
une vue est une table qui n'a pas un existence physique

syntaxe de création une vue

// créer une vue


Create view (nom view)

// le corps de vue
As
Les instruction (la requête)

Exemple :
1- Créer une vue contient tous les informations de branche dont le nombre des étudiants supérieur de 20 , puis
afficher seulement les noms de ces branche .

create view v1
as
select * from branche where nbr_etudiant > 20

select Nom_branche from v1

2- Créer une vue vue2 affichant le nombre des branches commençant par ‘t’

create view v2
as
select count(*) as nbr from branche where Nom_branche like 'T%'

select * from v1

les contraintes
 NULL / NOT NULL : précise si une valeur doit obligatoirement être saisie dans la colonne ou non
 DEFAULT : valeur par défaut qui est placée dans la colonne lors des insertions et de certaines
opération particulières
 PRIMARY KEY : précise si la colonne est la clef de la table.
 UNIQUE : les valeurs de la colonne doivent être unique ou NULL,
 CHECK : permet de préciser un prédicat qui acceptera la valeur s'il est évalué à vrai
 FOREIGN KEY : permet, pour les valeurs de la colonne, de faire référence à des valeurs préexitantes
dans une colonne d'une autre table.

Les contraintes

Das könnte Ihnen auch gefallen