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 |