事务的一致性

场景一:  部分在更新进程里,部分不在更新进程里

1、事务一致

......

insert tab1     "此行执行失败

call function in update task (insert tab2) ” 此行不执行

commit work

......

2、事务不一致

......

call function in update task (insert tab2) ” 此行执行失败

insert tab1     "此行执行成功

commit work

......

3、事务一致(call function.....不会新起进程,跟主进程在一起)

......

set update task local

call function in update task (insert tab2) ” 此行执行失败

insert tab1     "此行不执行

commit work

......

场景二: 都在更新进程里

1、事务一致

......

call function in update task (insert tab2) ” 此行执行失败

call function in update task (insert tab2) ” 此行不执行

commit work

......

2、事务不一致

......

call function in update task (insert tab2) ” 此行执行失败

commit work

call function in update task (insert tab2) ” 此行不执行

commit work

......

注: 每遇到一个commit work/rollback,会将之前的所有的更新内容(同一个LUW)提交,重新再创建一个新的LUW

   当前如果已经存在一个call function (IN UPDATE TASK),则无法在设置  SET UPDATE TASK LOCAL. 除非遇到commit与rollback

原文地址:https://www.cnblogs.com/zf15193741987/p/12827618.html