Sri*_*ddi 11 sql database sql-server triggers
可能重复:
数据库是否触发了恶意?
关于数据库触发器有很多负面信息,只是想让社区在好的和坏的时候采取行动.
Pau*_*sik 11
我认为当他们习惯于为安全性或创建元数据等日志记录,聚合等内容填充单独的一次性表时,他们就可以了.
当您开始更改"实时"数据或"循环"到您的商业信息表时,那就是当它们变得邪恶和笨拙时.他们也完全没必要.没有任何触发器可以执行存储过程无法执行的操作.
我觉得他们在编程语言中是SQL的邪恶等同于GOTO.合法,但除非绝对必要,否则要避免,并且绝对没有必要.
当其他功能更合适时,数据库触发器使用时会很糟糕.
在尝试使用触发器之前应该考虑的功能:
检查约束
外键约束
唯一索引/约束
(持久)计算列
(索引)视图(如果触发器正在尝试更新聚合,比如说)
存储过程(如果可以禁止直接访问表)
在那之后,可以适当地使用触发器而不会"坏".应始终将触发器设计为占用空间小.
因为它们是"神奇的".他们不是很明显,他们可以做很多工作.
我见过优秀的开发人员花了很多时间来追踪触发相关的问题,因为他们只是不想去寻找它们.而且,他们很少需要.
归档时间: |
|
查看次数: |
11009 次 |
最近记录: |