【问题标题】:trigger in sql server在sql server中触发
【发布时间】:2010-08-06 20:06:13
【问题描述】:

我们可以在单个表上创建多个插入触发器吗?如果是,那么它们是如何执行的,对于触发器、触发器之后以及它们何时构造的确切想法是什么?如果没有那为什么?

【问题讨论】:

  • 是的,你可以,但它会影响性能,具体取决于它在做什么,以及你在表中移动了多少数据。
  • 您可以定义多个相同类型的触发器,但您无法控制它们的执行顺序
  • 除非绝对必要,否则我会避免触发。

标签: sql-server insert triggers


【解决方案1】:

您绝对可以在 SQL Server 表上创建多个触发器。

如果您不执行任何操作,它们将按照服务器喜欢的任何顺序执行,并且每次的顺序都不相同。

您可以强制执行一些顺序逻辑,以便最多 3 个触发器按您想要的顺序触发。您可以定义 FIRST 和 LAST 触发器。这为您提供了最多 3 个有序触发器,因为没有定义 FIRST 或 LAST 的触发器将在中间触发。您还可以使用 AFTER 关键字执行更新/插入/删除替换触发器或在事件之后发生的触发器。查看这些文章以获取更多信息和确切代码:

最后,触发器通常会减慢您的数据库。对于 SQL Server 尤其如此,它们被认为是速度杀手。一般来说,触发器应尽可能少用。

【讨论】:

    猜你喜欢
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多