Den created
kolonnen er enkel - kun en DATETIME2(3)
kolonne med en standardbegrænsning, der indstilles, når en ny række indsættes:
Created DATETIME2(3)
CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())
Så når du indsætter en række i YourTable
og angiv ikke en værdi for Created
, vil den blive indstillet til den aktuelle dato og tid.
Den modified
er lidt mere arbejde, da du bliver nødt til at skrive en trigger for AFTER UPDATE
case og opdatere det - du kan ikke deklarativt bede SQL Server om at gøre dette for dig....
Modified DATETIME2(3)
og derefter
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 skal tilslutte dig Inserted
pseudo-tabel, som indeholder alle rækker der blev opdateret med din basistabel på din primære nøgle for det bord.
Og du bliver nødt til at oprette denne AFTER UPDATE
trigger for hver tabel, som du vil have en modified
kolonne i.