一个表的UPDATE触发器,该表每天在特定记录集上更新数千次

1 t-sql sql-server database-trigger

我正在寻找对公司表之一中非常特定的记录子集进行更改的方法。我意识到更新触发器可以完成此任务,但是一天要调用数千次。

虽然我相当精通SQL,但是T-SQL和触发器在我的常规操场之外有点。我不想写一些会持续运行且几乎无法完成的事情(或使我们的DBA烦恼)。

似乎解决方案将是仅拉出我感兴趣的行,然后基于此写触发器的视图。看来这是“不良形式”,它告诉我有一种更好的方法来完成同一件事。

我正在寻找使用触发器的原因,因为我正在寻找可能会很快重置的值更改。(例如,它将更改为1,然后在几个小时后更改回0)。

此触发器将在SQL SERVER EXPRESS 10.50.4000上运行

我主要只是需要一个方向-不需要太多特定的代码。

Mar*_*ith 5

您不能在基表行更改触发的视图上创建触发器。

这不是“不良形式”的问题,而是根本不可能的(视图上允许的唯一触发器是INSTEAD OF不能满足您需要的触发器)。

表格触发检查列是否已从更改01不会造成大量开销-尤其是每天仅调用数千次时。

它应该调用该UPDATE函数以检查感兴趣的列是否已更改-如果没有立即退出。否则,它应将主键上的INSERTEDDELETED表连接起来,并检查任何行的新值和旧值是否与您尝试跟踪的模式匹配。