我听说过有关触发器的事情,我有几个问题。
什么是触发器?
我该如何设置它们?
除了典型的 SQL 内容之外,是否还应该采取任何预防措施?
触发器允许您在发生某些事件(例如,插入表)时在数据库中执行某个功能。
我无法具体评论mysql。
注意事项:触发器非常诱人,当您第一次开始使用它们时,它们似乎是解决各种问题的灵丹妙药。但是,它们使“神奇”的事情发生,如果您不了解数据库的内部情况,那么看起来可能会发生非常奇怪的事情(例如插入其他表、输入数据更改等)。在将事物作为触发器实现之前,我会认真考虑在架构周围强制使用 API(最好在数据库中,但如果不能的话,也可以在外部)。
有些事情我仍然会使用触发器
- 跟踪“date_created”和“date_last_edited”字段
- 插入“ID”(在 oracle 中,没有自动 id 字段)
- 保留变更历史记录
您不想使用触发器的事情
- 业务规则/逻辑
- 连接数据库外部的任何内容(例如 Web 服务调用)
- 访问控制
- 任何非事务性的操作(您在触发器中执行的任何操作都必须能够随事务回滚)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)