SQL Server自动更新datetimestamp字段

时间:2011-04-21 12:24:56

标签: sql tsql sql-server-2008

在SQL Server 2008 R2中“我正在尝试在SQL Server中插入一个公式,该公式将在每次更新记录时将LastUpdatedTimestamp字段中的当前值更新为getdate()

1 个答案:

答案 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