SQL Server自动更新日期时间戳字段
在SQL Server 2008 R2中,“我试图在SQL Server中插入一个公式,将SQL Server自动更新日期时间戳字段,sql,tsql,sql-server-2008,Sql,Tsql,Sql Server 2008,在SQL Server 2008 R2中,“我试图在SQL Server中插入一个公式,将LastUpdatedTimestamp字段中的当前值更新到现在,即getdate()每次更新记录时。您可以在日期时间字段上设置默认约束,该约束将导致在插入新行时插入当前日期/时间 从那时起,您需要在更新后使用触发器,该触发器将在每次更新行时更新日期/时间列 正如您所说的,您不能使用“公式”执行第二个任务(更新行时更新日期/时间戳)——在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
这里真的没有问题。我刚刚发现我必须使用触发器我希望我可以使用内置函数。谢谢你这里真的没有问题。我刚刚发现我必须使用触发器我希望我可以使用内置函数。谢谢你可能的副本