T-SQL: ce que les COLONNES ont changé après une mise à jour?

OK. Je suis en train de faire une mise à jour sur une seule ligne dans une table.
Tous les champs seront écrasées par de nouvelles données, sauf pour la clé primaire.
Cependant, toutes les valeurs ne changera b/c de la mise à jour.
Par exemple, si mon tableau est comme suit:

TABLE (id int ident, foo varchar(50), bar varchar(50))

La valeur initiale est:

id   foo   bar
-----------------
1    hi    there

J'exécute ensuite UPDATE tbl SET foo = 'hi', bar = 'something else' WHERE id = 1

Ce que je veux savoir est ce que la colonne a eu sa valeur a changé et ce qui était à sa valeur d'origine et qu'est-ce que sa nouvelle valeur.

Dans l'exemple ci-dessus, je voudrais voir que la colonne "barre" a été modifiée de "il" à "autre chose".

Possible sans faire une colonne par colonne comparaison? Est-il un élégant instruction SQL comme l'EXCEPTION qui sera plus fine que la simple ligne?

Grâce.

InformationsquelleAutor Calvin | 2010-01-26