oracle 序列问题

2018-11-03 11:49:28 +08:00
 whp404

求问各位大佬,如果 oracle 数据库中建立序列 A,同时事务方法 B 中用到该序列 A,事务方法 B 回滚,会导致序列 A 回滚吗?在网上查看到大部分说不能回滚,鉴于自己数据库知识浅薄,求各位指点一二,最好能有个说明网址,先谢谢大佬们

ps:看到一种说法 如果两个事物 B/C 方法调用序列 A,如果 B/C 依次调用 A 序列拿到序列值 B1/C1,此时 B 回滚,假如序列 A 回滚,会导致 C 方法拿到无效序列值,感觉不太可能,所以序列不能回滚,不知道这种说法正确否

1975 次点击
所在节点    Java
3 条回复
yidinghe
2018-11-03 12:05:19 +08:00
序列是不会回滚的,序列的目的就是保证一个序列值只会被取到一次,序列的生成不属于事务的一部分。
yidinghe
2018-11-03 12:09:32 +08:00
其实这个问题很好找,搜索 oracle sequence transaction 第一条结果就是答案:
https://stackoverflow.com/questions/12104407/oracle-sequence-transactionality
whp404
2018-11-03 12:16:17 +08:00
@yidinghe 感谢您的回复,此贴应该可以终结了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/504046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX