En als je echt een tijdstempel nodig hebt, maak dan een trigger bij invoegen en update die de kolom bijwerkt met de huidige timestmap.
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE dbo.YourTable
SET last_changed = GETDATE()
FROM Inserted i
Om een enkele rij (die is bewerkt of ingevoegd) bij te werken, gebruikt u
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE f set LastUpdate=GETDATE()
FROM
dbo.[YourTable] AS f
INNER JOIN inserted
AS i
ON f.rowID = i.rowID;
Dit zou alles moeten zijn wat je nodig hebt. GETUTCDATE() als je het in UTC wilt (waar ik de voorkeur aan geef)
SQL Server kent absoluut de rijen die het verwerkt
Ja, raad eens - want dat is precies wat je tegen SQL Server zegt:werk alle rijen in de tabel bij.
Sets hebben geen huidige rij;) Daar begint het probleem.
De enige manier om dat precies te doen zoals je wilt, is in mijn antwoord aan het begin:een tijdstempel. Vanwege de misvattingen voeg ik echter een advies toe:koop een boek over de basisprincipes van SQL.