|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() ![]() Inscription : décembre 2003 Messages : 375 ![]() |
Salut,
je souhaite, à chaque fois qu'une colonne C qu'une table T est modifiée, copier la ligne concernée dans une autre table. (pour historisation) Je pense donc faire un trigger qui se déclenchera à la modification d'une valeur de la colonne C : http://sqlserver.developpez.com/faq/?page=Prg#Prg3. Mais comment savoir quelle ligne est concernée ? (dans l'exemple seul un message générique apparaît) |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
a l'interieur d'un trigger, vous disposez de deux pseudo tables qui ont la meme structure que la table sur laquelle porte le trigger : 1 - INSERTED : contient les lignes inserées dans le cas d'un INSERT 2 - DELETED contient les lignes supprimées dans le cas d'un DELETE Dans le cas d'un UPDATE : DELETED contient les lignes avant que la commande UPDATE soit effectuée INSERTED contient les lignes après que la commande UPDATE a été effectuée. Dans votre cas, si c'est pour historiser, je suppose que ce sont les anciennes données qui vous intéressent, vous pouvez donc faire quelque chose comme : Code SQL :
|
||
|
|
10
|
|
|
#3 |
|
Membre actif
![]() ![]() Inscription : décembre 2003 Messages : 375 ![]() |
C'est parfait, merci.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com