批量生成序列重置SQL
Posted 特立独行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量生成序列重置SQL相关的知识,希望对你有一定的参考价值。
产品迭代,同用一个库,或者迁移后仅清理数据,导致序列几十亿,可能会有一些影响,因此重置,如果生产沿用一些东西,谨慎操作。
-- 执行命令生成结果
SELECT \'alter sequence \' || SEQUENCE_OWNER || \'.\' || SEQUENCE_NAME ||\' increment by \' || (SQ.MIN_VALUE - SQ.LAST_NUMBER + 500) || \';\'||chr(10)||
\'select \' || SEQUENCE_OWNER || \'.\' || SEQUENCE_NAME ||\'.nextval from dual;\' ||chr(10)||
\'alter sequence \' || SEQUENCE_OWNER || \'.\' || SEQUENCE_NAME ||\' increment by \' || SQ.INCREMENT_BY || \';\' cmd
FROM DBA_SEQUENCES SQ
WHERE SEQUENCE_OWNER = \'&USERNAME\'
AND SQ.LAST_NUMBER > 10000;
-- 替换变量USERNAME为你数据库用户
以上是关于批量生成序列重置SQL的主要内容,如果未能解决你的问题,请参考以下文章