【问题标题】:SQL Update cell with GetDate() when data in other cell in the same row changes当同一行中其他单元格中的数据发生更改时,使用 GetDate() 更新单元格
【发布时间】:2016-02-18 17:06:26
【问题描述】:

在 SQL Server 2012 中,我有一个表:

ID      Data     Date
1       A        NULL
2       B        NULL
3       C        NULL

我有一个函数可以更新 Data 列中的值(我无法更改此函数,它将更新 Date 列)。 如果列 Data 中的值发生变化并且仅在列 Data所在的行中,是否有可能使用 GetDate() 函数的值更新列> 变了?也许有触发器?

想要的结果:

ID      Data     Date
1       C        2016-02-18 00:00:00.000
2       B        NULL
3       C        NULL

【问题讨论】:

  • trigger 似乎是一个合理的解决方案,但是它们确实增加了表性能的开销。

标签: tsql sql-server-2012


【解决方案1】:

是的,触发器可能是您最好的选择。只需将一个用于 UPDATE 即可。

CREATE TRIGGER tU_your_table ON your_table
FOR UPDATE
AS 
BEGIN 

UPDATE your_table
SET [Date] = GETDATE()
FROM your_table, inserted
where your_table.id = inserted.id
END
GO 

【讨论】:

    猜你喜欢
    • 2018-06-22
    • 2017-06-28
    • 2015-08-24
    • 2013-06-04
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多