Liste des enregistrements modifiés par un update

Résolu
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009 - 2 mars 2009 à 17:27
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009 - 3 mars 2009 à 09:53
Bonjour

Sous SQL Server 2008 , comment récupérer la liste des enregistrements modifiés par un Update si cela est possible ?

Merci

2 réponses

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 3
3 mars 2009 à 07:53
Grace a une close OUTPUT :

avec une table
matable (maclef,Truc,Bidule)

UPDATE matable
Set Truc = 10
OUTPUT
 INSERTED.maclef,
  INSERTED.Truc ,
 INSERTED.Bidule,
WHERE bidule>30

ceci renvoie les ligne modifier par l'update, une variante :

UPDATE matable

Set Truc = 10
OUTPUT

 INSERTED.maclef,

 INSERTED.Truc,
 INSERTED.Bidule,
INTO Log (lMaclef,lTruc,lBidule)

WHERE bidule>30

permet d'enregistrer les donnée modifiées dans la table Log

en plus si je ne m'abuse c'est clause sont devenue accessible en sous requette avec le 2008 :
Select
 *
FROM
(UPDATE matable

Set Truc = 10
OUTPUT

 INSERTED.maclef,

  INSERTED.Truc ,
 INSERTED.Bidule,

WHERE bidule>30
) AS udt
INNER JOIN monautretable
ON udt.maclef = monautretable.maclefétrangére
3
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
3 mars 2009 à 09:53
Merci de ta réponse

je venais juste de trouver et tester la clause output.

Cordialement
0