项目临近验收的时候,甲方告诉你要把数据库缓存oracle,还是老版本的,你气不气?又要改。。。。。唉,换的途中遇到的相关问题,记录一下。今天说一下,oracle没有自增字段,我使用序列值来代替,但是由于数据是导入的,导致使用序列值也需要修改其中的初始值。
构建序列值
先创建表的序列值
实例:
create sequence seq_define_objid
increment by 1
start with 1
maxvalue 9000000000000000;
获取序列值
实例:
//获取下一个
select seq_define_objid.nextval from dual
修改起始序列值
比如现在序列值是1,你想修改成1001;
先执行获取,再修改增量,再获取,最后修改回增量为1
实例:
select seq_define_objid.nextval from dual
alter sequence seq_phar_define_objid increment by 1000;
select seq_define_objid.nextval from dual
alter sequence seq_phar_define_objid increment by 1;
修改起始序列值
比如现在序列值是1001,你想修改成1;
先执行获取,再修改增量,再获取,最后修改回增量为1
实例:
select seq_define_objid.nextval from dual
alter sequence seq_phar_define_objid increment by -1000;
select seq_define_objid.nextval from dual
alter sequence seq_phar_define_objid increment by 1;