迁入迁出报错
错误:
![](https://i-blog.csdnimg.cn/blog_migrate/ee395eaf941e39ff69447e25dc313e23.png)
原因:
迁入迁出时,会向 limsSourceControl 中插入记录,
(导库时,TABLE_EXISTS_ACTION=REPLACE 导致origrec字段序列的 nextval 值小于实际存在的最大值)
插入记录时,此时的origrec字段值(select "LIMSSOURCECONTROL_seq".nextval from dual;)在表中已存在。
所以报错。
解决:
更新 limsSourceControl 表的触发器中 origrec 的序列值;
修改对应序列的递进值,查询序列值使生效,恢复序列递进值,完成。
注:
1、获取所有序列当前用户的所有序列
select * from user_sequences
2、获取数据库的所有序列
select * from all_sequences
3、获取某序列的下一序列值
select "LIMSSOURCECONTROL_seq".nextval from dual
4、修改某序列的递进值
alter sequence "LIMSSOURCECONTROL_seq" increment by 1000;
更新 limsSourceControl 表的触发器中 origrec 的序列值;
修改对应序列的递进值,查询序列值使生效,恢复序列递进值,完成。
注:
1、获取所有序列当前用户的所有序列
select * from user_sequences
2、获取数据库的所有序列
select * from all_sequences
3、获取某序列的下一序列值
select "LIMSSOURCECONTROL_seq".nextval from dual
4、修改某序列的递进值
alter sequence "LIMSSOURCECONTROL_seq" increment by 1000;