有没有办法自动告诉SQL Server所有的表都应该有插入和更新的时间戳?如何跟踪在SQL Server中自动创建/更新行的时间?
这可能是很多重复性的工作来做到这一点?
或者是否有另一种/更有效的方式来处理事务日志?
卡尔
有没有办法自动告诉SQL Server所有的表都应该有插入和更新的时间戳?如何跟踪在SQL Server中自动创建/更新行的时间?
这可能是很多重复性的工作来做到这一点?
或者是否有另一种/更有效的方式来处理事务日志?
卡尔
你将不得不在SQL Server中DML triggers实现这一点,用于插入,你可以用defaults
离开,但如果有人经过一个值,将会改写default
你可以有一个RowCreated DATETIME DEFAULT (GETDATE())
来自动处理该行最初创建的日期 - 但是对于RowModified DATETIME
列而言,没有什么可以编写触发器来执行相同的操作。
对于每个表,你必须写一个AFTER UPDATE
触发处理RowModified
列是这样的:
CREATE TRIGGER dbo.trg_YourTableUpdated
ON dbo.YourTable AFTER UPDATE
AS BEGIN
UPDATE dbo.YourTable
SET RowModified = GETDATE()
FROM INSERTED i
WHERE dbo.YourTable.ID = i.ID
END
看起来像我最生动的梦想! – Malartre 2010-12-03 16:05:19