Académique Documents
Professionnel Documents
Culture Documents
systme de gestion de BD 2
Dfinitions :
Lt : est un ensemble constitue dun plusieurs instruction SQL envoyer en une
unit par le client cela signifie que si on a une erreur dans lune des commandes
aucune des commande ne sera excut.
Les lots permettent damliorer les performances script dinstruction.
Insertion qui permet tre combin
Create database -
Create database -
Create table -
Create procedure -
Exemple :
Use test
Create procedure
valide
Non valide
Rollback transaction
Annuler
Exemple :
Begin transaction Trans
Insert into client values (1,berrada,ali,30)
Update commande
creation
Alter procedure
modification
Drop procdure
suppression
Excute procdure
excution
Exercice :
1 Ecrire une procdure stocke qui affiche tt les informations concernant
Berrada
2 Ecrire une proc stock qui augmente salaire par 5% pour tous les emp ayant
un ge entre 30 et 40
3 Ecrire une proc stock qui affiche le total des salaires demp habitants a FEZ et
Mekns
4 Ecrire une proc stocke qui permet de supprimer les employes ayant un ge
plus que 60 ans
Solution:
1 Ecrire une procdure stocke qui affiche tt les informations concernant
Berrada
Create proc P1
As
Select *from EMP where nom=berrada
Exec P1
2 Ecrire une proc stock qui augmente salaire par 5% pour tous les emp ayant
un ge entre 30 et 40
create proc P2
As
Update EMP
Set salaire =[salaire]*1,05 where( datediff(year,getdate(),date_n)>=30 and
datdiff(year,getdate(),date_n)<=40
Exec P2
3 create proc p3
As select sum (salaire), sum (commition) from EMP
Where ville in (fes,meknes)
4 create proc Pu
As
Delete EMP
Where datediff (year, getdate (), date_n) >= 60
Crer les
Afficher les employs embauchs il y a 4 ans
Le nb demploys travaillants dans un dpartement
Les employs participants aux projets de maintenance
Le nb des employeurs ne participant na aucun projet
Le nb dun employ donner par 2% si le salaire est sup a 2000 et un message au
cas contraire
Lemploy participant au maximum des projets et affiche le nb demployer par
dpartement
Procdure stocke qui augmente le salaire des employs dun dpartement
donn par un pourcentage
Syntaxes gnrale :
Create trigger nom trigger on {table /vue}
{For /after/ instead of} {Insert /update /delete}
As
Inst SQL
As
If update (N_clt)
Begin
Rais error (modification impossible, 10, 1)
Rollback transaction
End
Une commande ne peut tre cre que si le client existe dj dans la table
client
Create trigger t_inserted
On command
for insert
As
If exists (select n_clt from inserted where n_clt not in (select n_clt from
client)
Begin print insertion impossible
Rollback transaction
End
Create trigger t_deleted
On client
For deleted
As
If exist (select n_clt from deleted where n_clt in (select