在Oracle中,用以下SQL命令创建了一个序列:
CREATE SEQUENCE MY_SEQ
START WITH 394
INCREMENT BY 12
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE;
用户执行包含MY_SEQ.NEXTVAL的SQL语句三次,然后执行包含MY_SEQ.CURRVAL的SQL语句四次,请问序列MY_SEQ的当前值是()
A、406 B、418 C、430 D、442
A 答案:B。
MY_SEQ序列创建后的初始化值是394,第一次执行SELECT MY_SEQ.NEXTVAL FROM DUAL后,MY_SEQ的值其实还是394,从第二次开始增加,而MY_SEQ.CURRVAL并不增加序列的值,所以最终结果为394+12*2=418,所以,本题的答案为B。
实验过程如下所示:
SYS@oralhr> CREATE SEQUENCE MY_SEQ
2 START WITH 394
3 INCREMENT BY 12
4 NOMINVALUE
5 NOMAXVALUE
6 NOCYCLE
7 NOCACHE;
Sequence created.
SYS@oralhr> select MY_SEQ.NEXTVAL from dual;
NEXTVAL
----------
394
SYS@oralhr> select MY_SEQ.NEXTVAL from dual;
NEXTVAL
----------
406
SYS@oralhr> select MY_SEQ.NEXTVAL from dual;
NEXTVAL
----------
418
SYS@oralhr> select MY_SEQ.CURRVAL from dual;
CURRVAL
----------
418
SYS@oralhr> select MY_SEQ.CURRVAL from dual;
CURRVAL
----------
418
SYS@oralhr> select MY_SEQ.CURRVAL from dual;
CURRVAL
----------
418
SYS@oralhr> select MY_SEQ.CURRVAL from dual;
CURRVAL
----------
418
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 文章内容来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
DBA求职布道者
◆ DB最新咨询 |
◆ DB求职面经 |
◆ DB干货推送 | ◆ DB最新技术 |
◆ DB职业发展与规划 | ◆ DB进阶思路与方法 |
长按二维码点选(识别图中二维码) |
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。