【发布时间】:2021-04-29 21:22:30
【问题描述】:
我们需要在使用 Oracle 序列生成器生成新号码时跳过几个已定义的号码。
例如:- 我们定义的范围为 0001-9999,但在此范围内,Oracle 排序器永远不会生成数字 0011、0020、2056、6547。
可以吗?
【问题讨论】:
-
序列定义中没有任何内在的东西可以做到这一点。为什么你需要跳过这些?为什么不从你想跳过的最高数字多 1 开始你的序列呢?将序列限制在仅 9999 的范围内有缺陷的设计或对如何最好地使用序列的理解有缺陷。当你的 seq.达到9999?您如何使用这些数字?
-
我可以理解为什么有人想要保留一些数字,例如,为了测试的目的。我会通过从 10000 开始我的序列来简化它,而不用担心只有 4 个特殊数字。