--第一步、调整递增序列自增长为 100000
select 'ALTER SEQUENCE '||SEQUENCE_OWNER||'.'||SEQUENCE_NAME||' INCREMENT BY 100000 ;' from DBA_SEQUENCES
where SEQUENCE_OWNER = '模式名|用户名';
--第二步、执行获取序列值
select 'select '||SEQUENCE_OWNER||'.'||SEQUENCE_NAME||'.nextval from dual ;' from DBA_SEQUENCES
where SEQUENCE_OWNER = '模式名|用户名';
--第三步、恢复递增序列值为1
select 'ALTER SEQUENCE '||SEQUENCE_OWNER||'.'||SEQUENCE_NAME||' INCREMENT BY 1;' from DBA_SEQUENCES
where SEQUENCE_OWNER = '模式名|用户名'
序列解释
sequence:在CREATE SEQUENCE命令中分配给序列的标识符。下面介绍了这些函数的使用方法。
NEXTVAL:这个函数的作用是将序列对象的当前位置指到这个对象的下一个值。这个操作完成后是不能撤销的。即使多个会话同步执行NEXTVAL,每个会话将只能安全的取得一个唯一的序列值。
CURRVAL:返回在当前会话中函数NEXTVAL在序列中最近取得的数值。(如果在会话中的序列从来没有调用NEXTVAL,那么报告一条错误)。需要注意的是因为这个函数返回所在会话的序列数值,它会给出关于从当前会话开始的时候,是否有其他的会话执行了NEXTVAL的可预见性答案。