SQL Server自动更新datetimestamp字段

mar*_*sey 1 sql t-sql sql-server-2008

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

mar*_*c_s 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
Run Code Online (Sandbox Code Playgroud)