在SQL Server中,是否有任何方法可以自动更新修改日期和时间?
在SQL Server中是否有办法自动更新修改日期和时间?
在SQL Server中,有一种解决方法是使用Temporal Table(临时表)。以下是我是如何解决这个问题的。
首先,我们需要创建一个表,表结构如下:
CREATE TABLE extable4 ( PriKey int PRIMARY KEY, ColValue varchar(200), [ModifiedDateTime] datetime2 (2) GENERATED ALWAYS AS ROW START, [ModifiedExpiryDateTime] datetime2 (2) GENERATED ALWAYS AS ROW END HIDDEN, PERIOD FOR SYSTEM_TIME (ModifiedDateTime, [ModifiedExpiryDateTime]) );
接下来,我们可以插入一条记录,而不提供ModifiedDateTime的输入:
INSERT INTO extable4 (PriKey, ColValue) VALUES (1, 'Ver 1');
在执行此插入操作后,ModifiedDateTime将被自动填充为系统时间。
然后,我们可以通过执行以下更新语句来更新ModifiedDateTime:
UPDATE extable4 SET ColValue = 'Ver 1.1' WHERE PriKey = 1;
此时,ModifiedDateTime将被更新为当前时间。
使用Temporal Table可以实现自动更新修改日期和时间的功能。这种方法非常简洁有效。