场景一: 部分在更新进程里,部分不在更新进程里
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