Exercice Langage SQL : Mise à Jour avec des Triggers


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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748--creation de la connexionsp_addlogin'log1','123','myhotmail'--création de l'utilisateur de la connexionsp_adduser'log1','user1'--création d'un rôlrsp_addrole'voir_mofifier'--affectation du role à l'utilisateursp_addrolemember'voir_modifier','user1'--donner le privilège au role créeGRANT 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 courrierCREATE TRIGGER supp_on_courrier ON courrier FOR DELETEASdeclare @TABLE varchar(20) declare @genre varchar(20)SET @TABLE='courrier'SET @genre='suppression'beginINSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestampend---en cas de modification sur la table courrierCREATE TRIGGER modif_on_courrier ON courrier FOR UPDATEASdeclare @TABLE varchar(20) declare @genre varchar(20)SET @TABLE='courrier'SET @genre='modification'beginINSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestampend----en cas d'ajout sur la table courrierCREATE TRIGGER ajout_on_courrier ON courrier FOR DELETEASdeclare @TABLE varchar(20) declare @genre varchar(20)SET @TABLE='courrier'SET @genre='ajout'beginINSERT INTO journal SELECT system_user,current_user,@TABLE,@genre,current_timestampend
Article publié le 13 Décembre 2011