如何跟踪列值更改

时间:2012-01-24 13:51:05

标签: sql sql-server sql-server-2008

如何推断表中的特定行已被修改,如何查找我喜欢的列集已被修改。

例如:

CREATE TABLE #TEMP
(
    RollID INT,
    Name NVARCHAR(100),
    Class NVARCHAR(100),
    age  INT,
    Address NVARCHAR(200)
)

在这种情况下,我有兴趣注意(Name,Class)是否已被修改

2 个答案:

答案 0 :(得分:0)

您可以为此编写更新触发器。

在该触发器中,您可以找到已更改的列以及感兴趣的列对其作出反应。例如,您可以在一个额外的表中写入时间戳和更改数据的用户信息。

答案 1 :(得分:0)

Change Tracking是SQL Server 2008中的一项功能,可能对您实现此功能很有用。但是,我不确定它是否适用于您的示例中的临时表。如果您使用永久表,这是一个强大而有用的解决方案。