欢迎投稿

今日深度:

oracle序列参数:nextval和currval

oracle序列参数:nextval和currval


oracle序列参数:nextval和currval
 
 序列的两参数:nextval和currval。
 
Nextval  returns the next  avaiable sequence value.It returns a unique value every time it is referenced,even for different users.
 
Currval obtains the current sequence value.
 
打开第一个会话,创建个序列:
 
在调用currval的值前,必须先调用nextval的值。
 
SQL> create sequence myseq1  increment by 10 start with 120 maxvalue 9999 nocache nocycle;
Sequence created.

SQL> select myseq1.currval  from dual;
select myseq1.currval  from dual
       *
ERROR at line 1:
ORA-08002: sequence MYSEQ1.CURRVAL is not yet defined in this session

 

 
所以先调用nextval的值,第一个值是120。
 
SQL> select myseq1.nextval from dual;
   NEXTVAL
----------
       120

 

 
打开第二个会话,调用nextval的值会继续增加为130。
 
SQL> select myseq1.nextval from dual;
   NEXTVAL
----------
       130

 

 
再回到第一个会话中,调用currval的值,
 
SQL> select myseq1.currval from dual;
   CURRVAL
----------
       120

 

 
可以看到currval的值并不是130,还是第一个会话上次的值,
 
调用nextval的值,
 
SQL> select myseq1.nextval from dual;
   NEXTVAL
----------
       140

 

 
可以看到,nextval的值是在第二会话的基础上增加的。
 
所以nextval的值是每调用一次就增加一次;currval的值调用时,还是和自身会话的当前值一样。

www.htsjk.Com true http://www.htsjk.com/oracle/21387.html NewsArticle oracle序列参数:nextval和currval oracle序列参数:nextval和currval 序列的两参数:nextval和currval。 Nextval returns the next avaiable sequence value.It returns a unique value every time it is referenced,even for differen...
相关文章
    暂无相关文章
评论暂时关闭