使用道具 举报
原帖由 smallnavy 于 2008-9-10 16:27 发表 什么TRIGGER? 数据库TRIGGER的,还是FORM上的?
原帖由 zhangfengh 于 2008-9-10 16:29 发表 搬个凳子,继续等着newkid讲课
原帖由 newkid 于 2008-9-10 22:45 发表 因为触发器是隐藏的,它不执行你也不知道。假如有个触发器编译失效,DML还是不声不响的照样成功了!存储过程就不会这样。 触发器没有办法绕过。假如你有个产品正在跑,这时候需要补几条故障时间的历史数据,INSERT上的触发器有些动作是你不想要的,这就难办了。 触发器还有MUTATING TABLE问题。很多人一看这问题就上自治事务,殊不知这是个馊主意。自治事务使得你看到的数据都是旧的,因为主事务所作的修改还未提交。多行的DML会多次触发,产生一大堆小事务,很容易发生死锁。 在批量操作、多次触发到情况下,触发器的效率低,因为它相当于每次都执行一段PL/SQL. 往往可以把它转化为等价的几个SQL,效率提高很多。
原帖由 zhangfengh 于 2008-9-10 16:29 发表 搬个凳子,等着newkid讲课
本版积分规则 发表回复 回帖后跳转到最后一页