Oracle Sequences MaxValue

时间:2012-07-19 23:11:14

标签: oracle11g

对于那里的Oracle专家来说,这应该是一个简单的问题。 我有一个列,(例如ID NUMBER(10),我使用Oracle序列生成下一个 值。根据这个:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_6015.htm 序列可以生成28位的最大值。我想知道什么 当生成足够的序列以达到最大值时会发生什么 上面列的大小和序列定义我指定CYCLE但是 我没有指定MAXVALUE。 Oracle是否以智能方式处理此问题并从中开始 开头还是我必须指定Oracle将继续生成 数字大于上面提到的ID列中的数字?

1 个答案:

答案 0 :(得分:5)

序列和ID列之间没有关系 - 完全有可能有一个序列用于为多个不同的表生成密钥。这意味着序列不知道您如何声明ID列。如果您未指定MAXVALUE,序列将很乐意继续生成最多10 ^ 27的数字。

如果你希望序列在达到10 ^ 11而不是10 ^ 27时循环,你需要指定一个10 {11 - 1的MAXVALUE