数据库有表A,同时也创建了序列A_SQ,当前序列值是10。
A表 的id是靠序列自增长的,直接SQL导入数据的时候要设置id的。
比如:INSERT INTO A VALUES(11,'zhangsan')
但是直接设置id值的话序列并不会增长为11的,记得MySQL是可以的吧。Oracle要触发序列才会增长。
可以将语句改为:INSERT INTO A VALUES(A_SQ.NEXTVAL,'zhangsan')
这样就可以保证导入数据之后序列也是同步的。
也可以导入后再修改序列的值:
不可以直接修改的,但是可以间接修改。
alter sequence se_1 increment by -2;
修改步进的值,然后查询一次,
select seq.nextval from dual;
然后再把步进修改回去,
alter sequence se_1 increment by 1;
相当于修改了序列的当前值。
最后
以上就是贪玩马里奥最近收集整理的关于向Oracle数据库导入自增长的数据,保证序列同时增长的全部内容,更多相关向Oracle数据库导入自增长内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复