Beruflich Dokumente
Kultur Dokumente
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 :
AFTER :
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
2–
create trigger AJOUT
ON etudiant
for insert
as
begin
print 'ajout effectué avec succès'
select * from etudiant
end
3–
alter trigger AFFICHE
ON etudiant
after update
as
begin
select count(*) as nbr from etudiant where Nom_etudiant = 'siham'
end
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
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
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
// 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
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