-- Create sequence
create sequence ORA_SEQ
minvalue 100000000000
maxvalue 999999999999
start with 100000000260
increment by 1
cache 20
order;我在java程序中执行以下代码:
SELECT ORA_SEQ.NEXTVAL FROM DUAL
然后将取出来的号insert 到 user表中,为什么会出现跳号的问题?
有时候会跳20,有时候会跳6 ......
不知道是oracle自己跳号,还是程序中抛异常,导致系列号没有insert
求解:
oracle 在什么时候会跳号?麻烦详解,列举写例子!!!
create sequence ORA_SEQ
minvalue 100000000000
maxvalue 999999999999
start with 100000000260
increment by 1
cache 20
order;我在java程序中执行以下代码:
SELECT ORA_SEQ.NEXTVAL FROM DUAL
然后将取出来的号insert 到 user表中,为什么会出现跳号的问题?
有时候会跳20,有时候会跳6 ......
不知道是oracle自己跳号,还是程序中抛异常,导致系列号没有insert
求解:
oracle 在什么时候会跳号?麻烦详解,列举写例子!!!
2) JAVA程序设计的原因.
像你这种情况,是每次都会取出20个,如果还没用完你就关闭了数据库,那么下次也不会接着用,而是会重新再取20个。这时就会出现你说的这种情况。如果你想要连续的id,还是自己维护一个表来的安稳。
序列设置nocache模式即可。