• 序列


     序列的两参数:nextvalcurrval


    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的值调用时,还是和自身会话的当前值一样。

  • 相关阅读:
    区块链入门
    上海美食餐厅
    《OD学hadoop》20160910某旅游网项目实战
    《OD学hadoop》20160904某旅游网项目实战
    《OD学hadoop》20160903某旅游网项目实战
    qt5-自定义类
    qt5-Qt Creator使用
    qt5-QPushButton按钮
    qt5-工程文件的介绍--快捷键
    电路分析-电阻
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3209234.html
Copyright © 2020-2023  润新知