在SQL Server 2008 R2中“我正在尝试在SQL Server中插入一个公式,该公式将在每次更新记录时将LastUpdatedTimestamp
字段中的当前值更新为getdate()
。
答案 0 :(得分:8)
您可以在DateTime
字段上设置默认约束,以便在插入新行时插入当前日期/时间。
从那时起,您需要使用AFTER UPDATE
触发器,每次更新行时都会更新日期/时间列。
如上所述,您无法使用“公式”执行此第二项任务(更新行时更新日期/时间戳) - 它在SQL Server中无法正常工作。
你需要在这些方面提供一些触发器:
CREATE TRIGGER trgYourTableUpdateTimestamp
ON dbo.YourTable FOR UPDATE
AS BEGIN
UPDATE
dbo.YourTable
SET
YourTimeStampColumn = GETDATE()
FROM
Inserted Ins
WHERE
dbo.YourTable.SomeUniqueId = Ins.SomeUniqueId
END