|
|
1
11
我认为,当它们被用来填充一组单独的、一次性的表,用于诸如日志记录、聚合等安全性或创建元数据时,它们是可以的。 当你开始改变你的“实时”数据或“循环回”到你的商业信息表,那是当他们变得邪恶和笨拙。他们也完全没有必要这样做。触发器执行的任何操作都不是存储过程所不能执行的。 我觉得在编程语言中,它们是SQL的邪恶等价物。合法,但除非绝对必要,否则应避免,而且绝对不必要。 |
|
|
2
7
当其他特性更合适时,使用数据库触发器是不好的。 在尝试使用触发器之前应考虑的功能: 检查约束 外键约束 唯一索引/约束 (持久)计算列 (索引的)视图(如果触发器试图更新聚合,比如说) 存储过程(如果可以禁止直接访问表) 在这之后,可以适当地使用触发器,而不必“坏”。触发器的设计应始终具有较小的占用空间。 |
|
|
3
5
因为它们是“魔法”。它们不太明显,可以做很多工作。 我看到优秀的开发人员花了很多时间来跟踪与触发器相关的问题,因为他们只是不想寻找它们。而且,它们很少需要。 |
|
|
4
2
这里有几篇文章可以帮助你自己解决你的需求。
简而言之,
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 9 月前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 10 月前 |
|
ojek · 如何对SQL结果进行分组和编号? 10 月前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 10 月前 |
|
|
Sax · 规范化Google表格(第一步) 10 月前 |
|
|
BarıŠUÅaklı · 如何在ON冲突更新中使用CTE中的值 10 月前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 10 月前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 10 月前 |
|
|
Nebula Tech · 在SQL Server中搜索字符串中单词的多次出现 10 月前 |