sequence 本身是不能保证连续的,譬如你用insert语句插入一个sequence number,之后在将这个操作rollback掉,这个时候sequence就丢失了1次。
sequence如果你程序中动态生成的话,是需要控制起始值的,
比如让start value等于test1.value的最大值
后面这个问题应该是因为你用角色赋权限的原因,加上authid current_user可以处理
你的系统只是你一个人在编码测试吗,你的共享池(shared_pool)是不是会被别人flush过(类似执行了这样的sql语句:alter system flush shared_pool;),导致序列不连续?
如果要用cache,建议用exec dbms_shared_pool.keep('seq_test','Q')保存序列,可以解决不连续的问题
为什么要临时创建sequence?