信息应该是2个日期时间列(插入/更新),精度为ms,并且只要有人插入或更新行,就应该由服务器自动更新。
答案 0 :(得分:1)
在表格中添加列
ALTER TABLE yourTable ADD
Inserted datetime NULL,
Updated datetime NULL
GO
创建更新并插入触发器以更新列
CREATE TRIGGER yourTableInsertTrigger
ON yourTable
AFTER INSERT
AS
BEGIN
Update yourTable Set Inserted = getdate()
from Inserted
Where yourTable.Key = Inserted.Key
END
GO
CREATE TRIGGER yourTableUpdateTrigger
ON yourTable
AFTER UPDATE AS
BEGIN
Update yourTable Set Updated = getdate()
from Updated
Where yourTable.Key = Updated.Key
END
GO
现在,如果您想要非常干净,那么您必须确保使用视图而不是直接表访问来更改/更新这两列,以便您对数据进行其他访问。此外,如果您的主键不一致,并且您有许多表,我建议您使用CodeGeneration来创建sql。 MyGeneration会很好。
答案 1 :(得分:0)
我认为插入的触发器已经过时了。只需将getdate()添加到插入的列中作为默认值而不是null。