更新基于特定列更新的sql触发器,如果​​值等于'x'

时间:2013-08-12 19:15:03

标签: sql-server

基本上我有一个nvarchar列名MyTargetColumn,我希望触发器进行更新,但只有当该列生效且列的新值='x'

CREATE TRIGGER mytestTrigger
   ON myTable
   after UPDATE
AS
IF (Update (MyTargetColumn) AND MyTargetColumn = 'x')

似乎没有开火,我错过了什么?

1 个答案:

答案 0 :(得分:4)

IF(UPDATE(MyTargetColumn))
BEGIN
    UPDATE t SET col1= GETDATE()
               FROM table t
    INNER JOIN Inserted I on t.colname=I.colname
    WHERE I.colname='X'
END

尝试使用Inserted表连接,然后在where子句中提及条件。