TIMESTAMP
е жалко име, което екипът на SQL Server даде на типа данни. Той е за едновременност и няма нищо общо с датата или часа - те препоръчаха да използвате неговия псевдоним, ROWVERSION
за да се предотврати объркване. От тази статия в Books Online, „В DDL изразите използвайте версия на ред вместо времеви печат, където е възможно.“
За съжаление няма да можете да извлечете подробности за дата/час от ROWVERSION
колона, която вече имате, но ако тази информация е важна, трябва да добавите колони CreatedDate / ModifiedDate, например:
ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;
След това създайте TRIGGER
който се задейства при UPDATE
за да поддържате стойността на ModifiedDate актуална. Може да се наложи да решите дали искате ModifiedDate да бъде NULL
или равно на CreatedDate при инициализация.