SQL Server自动更新日期时间戳字段

SQL Server自动更新日期时间戳字段,sql,tsql,sql-server-2008,Sql,Tsql,Sql Server 2008,在SQL Server 2008 R2中,“我试图在SQL Server中插入一个公式,将LastUpdatedTimestamp字段中的当前值更新到现在,即getdate()每次更新记录时。您可以在日期时间字段上设置默认约束,该约束将导致在插入新行时插入当前日期/时间 从那时起,您需要在更新后使用触发器,该触发器将在每次更新行时更新日期/时间列 正如您所说的,您不能使用“公式”执行第二个任务(更新行时更新日期/时间戳)——在SQL Server中不能这样做 您需要提供一个触发器,并遵循以下几点

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

您可以在
日期时间
字段上设置默认约束,该约束将导致在插入新行时插入当前日期/时间

从那时起,您需要在更新后使用
触发器,该触发器将在每次更新行时更新日期/时间列

正如您所说的,您不能使用“公式”执行第二个任务(更新行时更新日期/时间戳)——在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

您可以在
DateTime
字段上设置默认约束,当插入新行时,该约束将导致插入当前日期/时间

从那时起,您需要在更新后使用
触发器,该触发器将在每次更新行时更新日期/时间列

正如您所说的,您不能使用“公式”执行第二个任务(更新行时更新日期/时间戳)——在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

这里真的没有问题。我刚刚发现我必须使用触发器我希望我可以使用内置函数。谢谢你这里真的没有问题。我刚刚发现我必须使用触发器我希望我可以使用内置函数。谢谢你可能的副本