Cours-Gratuit
  • Cours
  • Blog
home icon Cours gratuits » Cours informatique » Cours bases de données » Cours SQL » Exercices SQL »

Exercice Langage SQL : Mise à Jour avec des Triggers

Participez au vote ☆☆☆☆☆★★★★★


Objet 
: Travailler avec les Triggers

Travail à Faire :

Créer des triggers permettant de sauvegarder les mises à jour effectuées par chaque personne qui se connecte sur une base de données, bien sur avec un login et un mot de passe valide.

NB : Les triggers sont crées pour chaque table et pour chaque mise à jour que ça soit modification, suppression ou ajout.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--creation de la connexion
sp_addlogin'log1','123','myhotmail'
--création de l'utilisateur de la connexion
sp_adduser'log1','user1'
--création d'un rôlr
sp_addrole'voir_mofifier'
--affectation du role à l'utilisateur
sp_addrolemember'voir_modifier','user1'
--donner le privilège au role crée
GRANT SELECT,UPDATE ON courrier TO voir_modifier
--creation de la table qui va contenir les informations sur les mise à jour et les dates 
CREATE TABLE journal(
login varchar(10),
utilisateur varchar(20),
table_maj varchar(20),
genre_maj varchar(20),
date_maj datetime
)
--en cas de suppression sur la table courrier
CREATE TRIGGER supp_on_courrier ON courrier 
FOR DELETE
AS
declare @TABLE varchar(20) declare @genre varchar(20)
SET @TABLE='courrier'
SET @genre='suppression'
begin
INSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestamp
end
---en cas de modification sur la table courrier
CREATE TRIGGER modif_on_courrier ON courrier 
FOR UPDATE
AS
declare @TABLE varchar(20) declare @genre varchar(20)
SET @TABLE='courrier'
SET @genre='modification'
begin
INSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestamp
end
----en cas d'ajout sur la table courrier
CREATE TRIGGER ajout_on_courrier ON courrier 
FOR DELETE
AS
declare @TABLE varchar(20) declare @genre varchar(20)
SET @TABLE='courrier'
SET @genre='ajout'
begin
INSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestamp
end
Contenu publié le 13 Décembre 2011

Articles similaires

  • Tutoriel : comment mettre à jour Microsoft Word sur PC
  • Exercice langage C : Un programme qui affiche un tableau rectangulaire U de nombres flottants
  • Tutoriel Word : comment formater un document
  • Exercice Langage SQL : Les Triggers
  • Tuto Excel : créer une plage nommée dynamique
  • Exercices dépendances fonctionnelles et normalisation des BD

Documents similaires

  • Cours PL SQL apprendre les bases fondamentales du langage

  • Modèle PowerPoint ordre du jour

  • Modèle d’ordre du jour réunion sur Word

  • Application Excel sur la gestion de stock et caisse

  • Bootstrap tutorial francais

  • Prenez en main bootstrap site du zero

  • Formation complet pour apprendre le CMS Drupal

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Cours commerce
  • Cours électricité
  • Cours finance
  • Cours statistique
  • Cours économie
  • Cours Management
  • Cours comptabilité
  • Cours électronique
  • Cours gestion
  • Cours marketing
id 11354 02