我可以在同一个桌面上有两个不同的插入触发器吗?

Ham*_*han 11 sql sql-server triggers sql-server-2005 insert-update

它们似乎是被允许的,因为我可以看到我的插入触发器在表格下列出了不同的名称.这是常见的还是坏的做法?我正在使用SQL Server 2005

mar*_*c_s 17

是的,你绝对可以为每个操作,例如一个以上的触发AFTER INSERTAFTER UPDATE等应当把它分裂独立问题纳入单独的代码,小的,可管理的块.

你不能依赖的一件事是它们将以某种顺序执行 - 触发器确实执行的顺序也不必是稳定的,即每次都是相同的.

  • 虽然您可以使用`sp_settriggerorder`来设置第一个和最后一个触发器. (5认同)
  • 取决于RDBMS.Postgres保证以名称的alpha顺序调用多个触发器.他们声明SQL标准(很少遵循)是按照创建的顺序. (4认同)