Oracle序列 - 我们可以回滚序列吗?

San*_*ish 2 oracle jdbc sequence

我正在使用oracle 11g.我遇到了创建序列,它提出了一个问题

是否可以使用java回滚序列?

如果可以,请建议我?

Gun*_*ica 5

是的,使用alter sequence.请参见http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_2011.htm.

但请注意,这并没有真正的用途.除非从表中删除使用序列的所有记录,否则在使用序列创建唯一ID时会出现错误.

并且在生成的数字中总是会有"漏洞",尝试将序列创建的ID连续创建是没有意义的.想象一下,用户A做插入,用户B做另一个插入,用户B提交,用户A回滚.A使用的序列号将丢失,因为B使用较高的序列号.

  • 如果另一个用户执行相同的代码,创建另外5个序列号,然后*然后*第一个以错误结束会发生什么?不要尝试制作连续的ID.它不会起作用.您需要唯一的ID,序列保证,但尝试确保使用每个ID都没有意义. (5认同)