做几年ERP了,很少用到触发器.最进要新搞1个ERP项目,公司项目经理建议,以后项目里的大部分业务逻辑,都要用触发器来实现.前台界面只要实现,CRUD就可以了.请问,大,中型ERP项目,用触发器来实现,大部分业务逻辑这种做法,可行吗?又或者可行,但算不算1种比较好的做法呢?大家1般都是怎么做的?谢谢!
解决方案 »
- 问一个关于data.split的问题
- 【asp.net MVC】用的是mvcpager,条件查询后点分页按钮(比如第2页),会刷新到无条件结果集的第二页
- [玻璃鱼V]还是RSS的问题。
- 谁会写这条语句!
- 如何写查询方法
- 数据绑定问题
- [讨论]关于三层模式开发的问题
- 一个int类型的数组,如何取得他的值最大的元素和值最小的元素?
- 做Stocket的时候 线程间操作无效: 从不是创建控件“txtShow”的线程访问它。
- 怎样将dropdownlist中的内容清空?
- 请大家讨论一下:医院系统(HIS)可以用b/s结构实现吗?它和c/s实现有什么区别?
- 我是一个菜鸟,我想问一个简单的问题,如何限制textbox里必须同时含有数字和字母,如果只是数字或字母都不行。请指点我一下,谢谢,急
2,做B/S,我基本全部做在前台,非常复杂的才放到存储过程里.
2. 你得要专门且精通数据库的DBA来维护和管理, 否则数据库可能会被性能不好的触发器搞死, 而你的程序却得不到有用的信息, 不好找问题3. 你需要一套完善的管理方案, 且非常清楚触发器嵌套/递归的结果是什么, 并且有解决方案
因为很可能会出现你改A表数据, 触发器自动维护B表, B表触发器自动维护C表, 而C表可能又会更新A表的状态表示处理完成了, 一不小心这就是个死循环.
再考虑数据一致性, 像这种多个表递归下去, 如果要保证数据一致性, 则必须一个大的事务, 否则中间出错无法回滚, 而大事务是最容易产生堵塞和死锁的.
再考虑这里的错误处理, 如果报一个错误, 你能知道错误点在那吗?
再考虑业务的正确性, 如果用户告诉你输入某个数据库, 出来的结果不正确, 你能找出是那个触发器处理错了吗?