【问题标题】:SQL Server automatic update datetimestamp fieldSQL Server 自动更新日期时间戳字段
【发布时间】:2011-08-10 06:52:30
【问题描述】:

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

【问题讨论】:

标签: sql tsql sql-server-2008


【解决方案1】:

您可以在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 2019-04-15
    • 2010-09-07
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多