Den created
kolumnen är enkel - bara en DATETIME2(3)
kolumn med en standardbegränsning som ställs in när en ny rad infogas:
Created DATETIME2(3)
CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())
Så när du infogar en rad i YourTable
och ange inte ett värde för Created
, kommer den att ställas in på aktuellt datum och tid.
Den modified
är lite mer arbete, eftersom du måste skriva en trigger för AFTER UPDATE
case och uppdatera det - du kan inte deklarativt säga åt SQL Server att göra detta åt dig....
Modified DATETIME2(3)
och sedan
CREATE TRIGGER updateModified
ON dbo.YourTable
AFTER UPDATE
AS
UPDATE dbo.YourTable
SET modified = SYSDATETIME()
FROM Inserted i
WHERE dbo.YourTable.PrimaryKey = i.PrimaryKey
Du måste gå med i Inserted
pseudotabell som innehåller alla rader som uppdaterades med din bastabell på din primära nyckel för det bordet.
Och du måste skapa denna AFTER UPDATE
trigger för varje tabell som du vill ha en modified
kolumn in.