我想用更新日期标记所有更新的行
I would like to mark all updated rows with the date that they have been updated
更新 table 中的行后,我想用更新日期标记所有更新的行。
我需要写什么代码才能做到这一点
p.s。我应该声明我正在使用视图进行更新,因为它可以帮助我清楚地看到哪些数据需要更新。
如果您可以选择在应用程序或数据库中执行此操作,应用程序是执行此操作的更好方法。 (例如在 BaseDAL class)
如果应用程序不是一个选项,您可以在数据库触发器中执行并更新行。
您可以使用更新后触发的触发器来执行此操作。
给出一个 table 喜欢:
create table your_table (id int primary key, val int, last_update datetime)
每当您更新 table 中的某些内容时,此触发器将设置 last_update
值。
CREATE TRIGGER trigger_name ON your_table
AFTER UPDATE AS
BEGIN
UPDATE your_table
SET your_table.last_update = GETDATE()
FROM your_table t
JOIN inserted i ON t.id = i.id
END
有关触发器的完整语法和选项,请参阅 the documentation。
更新 table 中的行后,我想用更新日期标记所有更新的行。
我需要写什么代码才能做到这一点
p.s。我应该声明我正在使用视图进行更新,因为它可以帮助我清楚地看到哪些数据需要更新。
如果您可以选择在应用程序或数据库中执行此操作,应用程序是执行此操作的更好方法。 (例如在 BaseDAL class)
如果应用程序不是一个选项,您可以在数据库触发器中执行并更新行。
您可以使用更新后触发的触发器来执行此操作。
给出一个 table 喜欢:
create table your_table (id int primary key, val int, last_update datetime)
每当您更新 table 中的某些内容时,此触发器将设置 last_update
值。
CREATE TRIGGER trigger_name ON your_table
AFTER UPDATE AS
BEGIN
UPDATE your_table
SET your_table.last_update = GETDATE()
FROM your_table t
JOIN inserted i ON t.id = i.id
END
有关触发器的完整语法和选项,请参阅 the documentation。