求问各位大佬,如果 oracle 数据库中建立序列 A,同时事务方法 B 中用到该序列 A,事务方法 B 回滚,会导致序列 A 回滚吗?在网上查看到大部分说不能回滚,鉴于自己数据库知识浅薄,求各位指点一二,最好能有个说明网址,先谢谢大佬们
ps:看到一种说法 如果两个事物 B/C 方法调用序列 A,如果 B/C 依次调用 A 序列拿到序列值 B1/C1,此时 B 回滚,假如序列 A 回滚,会导致 C 方法拿到无效序列值,感觉不太可能,所以序列不能回滚,不知道这种说法正确否
1
yidinghe 2018-11-03 12:05:19 +08:00
序列是不会回滚的,序列的目的就是保证一个序列值只会被取到一次,序列的生成不属于事务的一部分。
|
2
yidinghe 2018-11-03 12:09:32 +08:00 via Android 1
其实这个问题很好找,搜索 oracle sequence transaction 第一条结果就是答案:
https://stackoverflow.com/questions/12104407/oracle-sequence-transactionality |