触发器执行失效的问题
如题,有进销存的业务表,和库存表,业务表通过解发器更新库存表,业务表中的SURE字段为1时就触发器更新库存。平常在测试过程中一切正常(目前怀疑压力测试不够),但现在发现在使用过程中,时常出现业务单据SURE字段已经为1,但库存表没有更新的情况,查了很久也查不出什么问题,搜索以往的贴子也没发现类似问题。
说明:程序由BS和CS的部署,都是直接连接数据库进行操作,所以终端数基本超200-300以上,同时每个终端都有可能在确认业务单据的操作。
因为每个业务表基本都有3-4个触发器(insert、delete、update分开),基本中update的触发器代码会比较多。
现在怀疑有没有可能SQL在很多线程同时触发器,有些触发器不会有效执行的情况,不知有没有这情况,请各位高人指点。
说明:程序由BS和CS的部署,都是直接连接数据库进行操作,所以终端数基本超200-300以上,同时每个终端都有可能在确认业务单据的操作。
因为每个业务表基本都有3-4个触发器(insert、delete、update分开),基本中update的触发器代码会比较多。
现在怀疑有没有可能SQL在很多线程同时触发器,有些触发器不会有效执行的情况,不知有没有这情况,请各位高人指点。
作者: zhxhjj 发布时间: 2011-06-13
进销存很少用触发器。
作者: zy112429 发布时间: 2011-06-13
在访问量大的时候,最好不要使用触发器,因为触发器的效率不高.你这个问题仅改触发器貌似解决不了问题.
最好改用存储过程,在存储过程中先向业务表存入数据,再根据业务中字段的值向库存表更新数据.
最好改用存储过程,在存储过程中先向业务表存入数据,再根据业务中字段的值向库存表更新数据.
作者: qianjin036a 发布时间: 2011-06-13
目前的更新方式也是先在业务表中存入数据,然后再通过更新业务表的SURE字段来同步库存,但现在就是SURE更新为1了,库存没变。
现在要改用存储过程,似乎不太现实。
我现在想确认SQL对触发器的执行会不会有这样的情况出现。
现在要改用存储过程,似乎不太现实。
我现在想确认SQL对触发器的执行会不会有这样的情况出现。
作者: zhxhjj 发布时间: 2011-06-13
LZ,好熟悉的名字啊,希望你能解决这个问题,然后告诉我。
作者: laikson 发布时间: 2011-06-13