TIMESTAMP
to niefortunna nazwa, którą zespół SQL Server nadał typowi danych. Służy do współbieżności i nie ma nic wspólnego z datą ani godziną — zaleca się używanie jego aliasu ROWVERSION
aby zapobiec zamieszaniu. Z tego artykułu Books Online:„W instrukcjach DDL używaj rowversion zamiast sygnatury czasowej, gdy tylko jest to możliwe”.
Niestety nie będziesz w stanie uzyskać żadnych szczegółów daty/godziny z ROWVERSION
kolumnę, którą już masz, ale jeśli ta informacja jest ważna, powinieneś dodać kolumny Data utworzenia / Data modyfikacji, na przykład:
ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;
Następnie utwórz TRIGGER
uruchamia się po UPDATE
aby zachować aktualną wartość Data modyfikacji. Być może trzeba będzie zdecydować, czy data modyfikacji ma być NULL
lub równy Data utworzenia podczas inicjalizacji.