Note that UPDATE() does not test that the data in the column has actually changed, only that the column was included in the update statement.UPDATE MyTableSET MyColumn = MyColumn
will set UPDATE(MyColumn) = TrueThis will test for an actual change in the column:IF EXISTS( SELECT * FROM Inserted AS I JOIN Deleted AS D ON D.MyPK_ID = I.MyPK_ID AND (D.MyColumn <> I.MyColumn OR (D.MyColumn IS NULL AND I.MyColumn IS NOT NULL) OR (D.MyColumn IS NOT NULL AND I.MyColumn IS NULL)))BEGIN .... Actions to perform ....END
and note that if MyColumn is char/varchar you need to force Binary Collation on that comparison test to catch a difference in just the case of the text.