在项目中,有可能要导入以前的数据,或其他数据,如果序列冲突了,会导不进去。此时就可以通过设置步长,来修改当前的序列。
先找到你要重置(修改)的序列
select * from dba_sequences where SEQUENCE_NAME like '%MCJNL%';

如果你的序列的最小值设置的是1,执行下面的语句使起始值为0:
alter sequence eipsit.mcjnlno minvalue 0;
查找当前序列的值
select eipsit.mcjnlno.nextval from dual;

可以看到当前的序列为4028,此时可以通过下面的命令来修改你想要的序列,比如我想要序列-50,那么我可以设置步长为-50.
alter sequence mcjnlno increment by -50;
执行之后查询序列,就可以把序列-50了
如果要把序列重置为零的话就执行下面的操作
设置步长
alter sequence mcjnlno increment by -3978;
执行序列:
select eipsit.mcjnlno.nextval from dual;

最后要调整步长为+1的正常状态。
alter sequence mcjnlno increment by 1;
下面就可以使用从1开始的序列了。
版权声明:本文为Yeoman92原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。