修改sequence的nextval的值

在oracle数据库中建立sequence,通过sequence.nextval来生成表的主键值,防治主键冲突。但有的时候需要往表中导入一些额外的数据(比如老系统数据),这时候sequ.nextval产生的值可能会与表中的主键值产生冲突。

解决方法可以参考如下方法:

假设现有表 T_test 对应主键的sequence为seq_test_id

方法一:删除序列seq_test_id,然后重新新建序列seq_test_id,将新序列seq_test_id的start with值改为一个合适的num

方法二:执行如下sql

alter sequence seq_test_id increment by num;(num为一个合适的不会造成主键冲突的数字)

select seq_test_id.nextval from dual;

alter sequence seq_test_id increment by 1;
转自:http://blog.csdn.net/myprogramer/article/details/6256800