我想用更新的日期标记所有更新的行

时间:2015-02-21 12:06:57

标签: sql sql-server-express

更新表中的行后,我想用更新的日期标记所有更新的行。

我需要编写什么代码来执行此操作

P.S。我应该说我正在使用视图进行更新,因为它可以帮助我清楚地看到哪些数据需要更新。

2 个答案:

答案 0 :(得分:0)

如果您可以选择在应用程序或数据库中执行,则应用程序是执行此操作的更好方法。 (例如在BaseDAL类中)

如果应用程序不是一个选项,您可以在数据库触发器和更新行中执行此操作。

答案 1 :(得分:0)

您可以使用更新后触发的触发器来执行此操作。

给出如下表格:
create table your_table (id int primary key, val int, last_update datetime)

每当您更新表格中的内容时,此触发器都会设置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