当前位置: 代码迷 >> Oracle开发 >> oracle中,在不用nextval的情况下,怎么得到序列当前值
  详细解决方案

oracle中,在不用nextval的情况下,怎么得到序列当前值

热度:41   发布时间:2016-04-24 07:34:32.0
oracle中,在不用nextval的情况下,如何得到序列当前值?
这个方法:
select last_number from user_sequence where sequence_name='SEQ_NAME';
貌似不行啊!

但是,先执行select your_seq_name.nextval from dual;再执行select your_seq_name.currval from dual;这种方法我知
道,可执行之后得到的就不是我想要的当前值了。除此之后没有别的方法了吗?

------解决方案--------------------
序列号设置了CACHE,会user_sequences的user_sequence 是根据CACHE大小跳跃的,要想查当前值只能从内存中读取:
SELECT KGLOBTN0-KGLOBTN1 FROM X$KGLOB WHERE KGLNAOBJ='SEQ_NAME';
但普通用户没有权限,建议你还是调整需求。
  相关解决方案