使用sql server写入触发器?

时间:2012-05-03 09:15:22

标签: sql-server-2008

在Sql server中,我编写了一个更新触发器,实际上我看到了一个示例触发器,并且我使用它来编写我的won triggr。我怀疑这个触发器。我的触发器是这样的:

 Create TRIGGER StudentScoresAfterUpdate
  ON StudentScores
 AFTER UPDATE
 AS
  IF ( UPDATE (Name) OR UPDATE (Score) )
   BEGIN
    INSERT INTO StudentScoresHist (Name, Score, HistoryDate)
     select Name, Score, getdate()
      from deleted ;
    END;

在上面的触发器中为什么作者写if条件IF ( UPDATE (Name) OR UPDATE (Score) )我可以不用条件写吗?

2 个答案:

答案 0 :(得分:0)

这是一个trigger function,从文档中看不出来(它似乎与CREATE TRIGGER没有关联)。

答案 1 :(得分:0)

  

为什么作者写if条件IF ( UPDATE (Name) OR UPDATE (Score) )我可以不用条件写吗?

当表中发生任何更新时,将触发更新触发器。对于包含大量列的表,如果特定列需要更新,您可能只对触发器的部分运行感兴趣。这就是UPDATE函数让您确定的内容。

你可以在没有条件的情况下写作吗?是的,当然。