如何从表中选择动态列?

时间:2010-07-14 08:03:59

标签: sql

我为插入,更新的表写了一个触发器。对于每个插入和 更新,在触发器中我比较'插入'表和行中的行 来自'已删除'表。

我需要获得受影响的列。怎么做?

A B C D
1 2 3 5.

我用3更新B的值。然后触发器将触发。在那个触发器中, 从删除的表中我可以得到:

A B C D
1 2 3 5

从Inserted表中我可以得到:

A B C D
1 3 3 5

我需要单独使用B列。

怎么做?
感谢。

1 个答案:

答案 0 :(得分:5)

您可以通过IF UPDATE(namehere)

检查列是否已更改
CREATE TRIGGER [dbo].[Triggername]
ON [dbo].[TableName]
FOR UPDATE
AS 

IF UPDATE(Columname) --If this column has changed
BEGIN
       --Your code here
    END