TIMESTAMP
je nešťastné jméno, které tým SQL Server dal datovému typu. Je to pro souběžnost a nemá nic společného s datem nebo časem – doporučují používat jeho alias, ROWVERSION
aby nedošlo k záměně. Z tohoto článku Books Online „V příkazech DDL používejte verzi řádku namísto časového razítka, kdykoli je to možné.“
Bohužel z ROWVERSION
nebudete moci odvodit žádné podrobnosti o datu/čase sloupec, který již máte, ale pokud jsou tyto informace důležité, měli byste přidat sloupce CreatedDate / ModifiedDate, například:
ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;
Poté vytvořte TRIGGER
který se spustí UPDATE
aby hodnota ModifiedDate zůstala aktuální. Možná se budete muset rozhodnout, zda chcete, aby ModifiedDate bylo NULL
nebo rovno CreatedDate při inicializaci.