【发布时间】:2011-02-09 17:30:30
【问题描述】:
我曾广泛使用 SQL Server,但对 Oracle 的经验很少。我的任务是“清理”Oracle 数据库中的序列,但不知道如何安全地进行。
我需要确定表中实际的最大值(比如 ID = 105)。然后查看该 ID 的下一个序列是什么。如果是106,那么一切都会好的。如果是 110,那么我需要将它重置回 106。
我可以安全地删除一个序列然后重新创建它还是会破坏已经存在的主键?我猜这不会是一个问题,但在我提升别人的系统之前,我想问一下。
这是我要使用的命令
Drop Sequence blah.foo_seq
Create Sequence blah.foo_seq Start WIth 106 Min 1 Max 2147483647 yada yada
【问题讨论】:
-
如果你真的需要连续的数字,序列不是合适的工具。