看起来它们是被允许的,因为我可以看到我的两个插入触发器以不同的名称列在表下面。这是常见做法还是一个糟糕的实践?我正在使用SQL Server 2005。
看起来它们是被允许的,因为我可以看到我的两个插入触发器以不同的名称列在表下面。这是常见做法还是一个糟糕的实践?我正在使用SQL Server 2005。
是的,您绝对可以为每个操作设置多个触发器,例如 AFTER INSERT
或 AFTER UPDATE
等。将单独的关注点分解成单独的、小型且可管理的代码块确实有意义。
唯一不能依赖的是它们将按照某种顺序执行,即触发器的执行顺序也不必稳定,即每次都相同。
sp_settriggerorder
来设置第一个和最后一个触发器。 - Martin Smith这是一种好的实践,因为你可以将你的变更分解成小的(敏捷)块,并独立地添加或删除它们。
INSERTED
表没有索引,因此出于性能考虑,最好将它们合并。 - Martin Smith