问题描述
一个序列即将完成,所以我把它变大了。我在数据库11.2上工作,所以我不得不使用这里描述的一种解决方法 (https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1119633817597)。
LiveSQL中显示的过程在测试数据库上运行,并且一切正常。但是,当我在生产数据库上运行过程时,它最终无法执行立即行 (设置MINVALUE) 抛出ORA-04007: 不能使MINVALUE超过当前值。
测试和生产之间的区别在于,该序列在后者中不断使用。
我不明白为什么它会在生产而不是在测试数据库上造成错误。
你能帮忙吗?
LiveSQL中显示的过程在测试数据库上运行,并且一切正常。但是,当我在生产数据库上运行过程时,它最终无法执行立即行 (设置MINVALUE) 抛出ORA-04007: 不能使MINVALUE超过当前值。
测试和生产之间的区别在于,该序列在后者中不断使用。
我不明白为什么它会在生产而不是在测试数据库上造成错误。
你能帮忙吗?
专家解答
我对你在这里做什么有点困惑。您链接的方法是将序列重置回1。
看来您正在尝试将下一个值向上移动超过当前最大值。没必要这么做。
只需增加最大值:
无论你做什么,也不需要增加最小值!
看来您正在尝试将下一个值向上移动超过当前最大值。没必要这么做。
只需增加最大值:
alter sequence zcmd_seq_test maxvalue 99999999999999999999;
无论你做什么,也不需要增加最小值!
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




