触发器的问题(200分)

  • 主题发起人 主题发起人 nathanlee
  • 开始时间 开始时间
N

nathanlee

Unregistered / Unconfirmed
GUEST, unregistred user!
在库存管理系统中,对于采购表的增删改都会影响到库存表的数据,通常象这种操作是
做成触发器呢还是用存储过程呢?用触发器简单方便,用存储过程就麻烦一些比如对修改的
记录如何知道呢?触发器是有一个deleted表的,拿存储过程就没有了,在update操作是用
存储过程怎么做好呢?
一般参考资料上说触发器不宜超过30个,多了会影响数据库的性能,真的是这样吗?

欢迎大家讨论
 
我觉得还是触发器好,它的deleted表非常实用方便!我用的就是trigger!
不过trigger确实不宜用得太多!
 
當然應該用触发器,如果用存储过程還要傳送許多的參數,并且相當復雜!
 
同意bernhn的观点[:)]
 
而且修改数据都是在dbgrid中,这是好像只能用trigger,如果用procdurce好像无法控制
delete的数据
 
本人从来不用触发器
直接写程序容易管理。
 
修改字段少的,比较规范的,我一般用触发器。别的用过程。
 
用trigger吧,如果嵌套会慢一点
 
用存储过程比较保险
 
直接用程序控制不是很好吗
 
为什么大家都想用程序控制呢?那数据库的特性如何发挥呢?难道什么都在客户端处理吗?
 
我个人人为能后用数据库处理的绝对不会用程序来完成.即能用Store Procedure 或 Trigger
处理的,就不会用程序处理.这样做不仅是从速度的角度考虑,也从数据的安全性考虑.
Store Procedure 或 Trigger 是在服务器断执行的,速度快,而且不会频繁占用网络资源.
而用程序处理,频繁向服务器发送 Sql 语句或用数据敏感型空间更新数据,会大量占用网络
资源,造成执行速度的降低,如过突然断点,还会丢失数据.
对于楼主的情况.我认为用 Trigger可能好些,因为做起来简单些,节约了开发时间.效率也高.
在对Store Procedure 或 Trigger 的选用上,我同意 dae 大侠的看法.
 
千万别用触发器
 
如果每个表都需要两三个Trigger的话对数据库的性能不是会有很大影响吗?各位有没有
实际的经验?
 
要用触发器。
 
速度方面应该是存储过程快呀
 
多人接受答案了。
 
后退
顶部