OK. Я делаю обновление в одной строке таблицы. Все поля будут перезаписаны новыми данными, кроме первичного ключа. Однако не все значения изменят b/c обновления. Например, если моя таблица выглядит следующим образом:T-SQL: какие COLUMNS изменились после обновления?
TABLE (id int ident, foo varchar(50), bar varchar(50))
Начальное значение:
id foo bar
-----------------
1 hi there
Я тогда выполнить UPDATE tbl SET foo = 'hi', bar = 'something else' WHERE id = 1
То, что я хочу знать, какой столбец имеет свою ценность изменена и какова ее первоначальная ценность и какова ее новая ценность.
В приведенном выше примере я хотел бы видеть, что столбец «бар» был изменен с «там» на «что-то еще».
Возможно без сравнения столбцов по столбцам? Есть ли какой-то элегантный SQL-оператор, такой как EXCEPT, который будет более мелкозернистым, чем просто строка?
Спасибо.
Обычно принято оставлять заметку, когда вы используете downvote, ребята. Не будьте рывком, что именно не так с этим ответом? – Aaronaught
Спасибо за информацию. Я искал специальное заявление, но, если его нет, я думаю, мне придется переделать его, как вы это делали выше. – Calvin