关于事物回滚的问题
背景:A表里有三个字段:单号,原料编号,完成状态(有已完成和未完成);
业务流程是分批次加工原材料,如果全部加工完成,勾选已完成复选框,勾选完已完成复选框后,该单号下的原材料状态都更新为已完成。
例如,该原材料分三批加工,第一次为未完成,第二次为未完成,第三次勾选了已完成复选框,保存后,更新第一次第二次的完成状态为已完成。
现在在BLL层写了三个事物 :
第一个事物往表B中插入数据, INSERT
第二个事物是往表A里插入数据,INSERT
第三个事物前有个IF判断,如果是已完成,执行第三个事物
把A表里之前这个单号下所有的信息的完成状态字段更新为已完成。UPDATE
过程:执行上面的例子没有问题,但是如果一次全部加工完成怎么办,第二个事物还没有提交,怎么更新第三个呢