Чтобы узнать, какая строка была последний раз обновлена, вам нужно создать новый столбец типа DATETIME
/ DATETIME2
и обновить его с помощью триггера. Не существует типа данных, который автоматически обновляется с информацией о дате / времени каждый раз, когда обновляется строка.
Чтобы избежать рекурсии, вы можете использовать предложение UPDATE()
внутри триггера, например,
ALTER TRIGGER dbo.SetLastUpdatedBusiness
ON dbo.Businesses
AFTER UPDATE -- not insert!
AS
BEGIN
IF NOT UPDATE(LastUpdated)
BEGIN
UPDATE t
SET t.LastUpdated = CURRENT_TIMESTAMP -- not dbo.LastUpdated!
FROM dbo.Businesses AS t -- not b!
INNER JOIN inserted AS i
ON t.ID = i.ID;
END
END
GO