Вам также понадобится столбец первичного ключа в вашей таблице, чтобы это работало - что в любом случае должна иметь любая серьезная таблица ....
Тогда вы можете использовать это:
CREATE TRIGGER trgUpdateDatetimeModified
ON dbo.YourTableNameHere
AFTER UPDATE
AS
BEGIN
UPDATE dbo.YourTableNameHere
SET DatetimeModified = SYSDATETIME()
FROM Inserted i
INNER JOIN Deleted d ON d.PrimaryKey = i.PrimaryKey
WHERE d.Data <> i.Data;
END;
На основе псевдотаблиц Deleted
(старые значения до UPDATE
) и Inserted
(новые значения после UPDATE
), доступных внутри триггера, он проверяет, какие строки имеют обновление в столбец Data
, и для них обновляется DatetimeModified
.
Я бы также рекомендовал начать использовать SYSDATETIME()
вместо GETDATE()
в качестве лучшей практики.