ITPub博客

首页 > 数据库 > Oracle > ocp051之序列

ocp051之序列

原创 Oracle 作者:xfhuangfu 时间:2016-08-15 19:20:08 0 删除 编辑

Sequence created.

【考点解析】

序列:

自动提供唯一的数值

共享对象

主要用于提供主键值

可代替应用程序生成序号

将序列值缓存到内存中,可以提高访问效率。

题意:序列seq1的生成的值已经到最大值200,再执行下列语句:
SELECT seq1.nextval FROM dual;

 

一个seqence设置了cycle属性,但当达到最大值时,不是从start with设置的值开始循环。而是从1开始循环。

语法;

CREATE SEQUENCE sequence

       [INCREMENT BY n]

       [START WITH n]

       [{MAXVALUE n | NOMAXVALUE}]

       [{MINVALUE n | NOMINVALUE}]

       [{CYCLE | NOCYCLE}]

       [{CACHE n | NOCACHE}];

INCREMENT BY:指定序列增长步长。可以为正(升序)、负整数(降序),但不能为0。最高精度28。

START WITH: 指定序列起始数。默认为序列最小值。

MAXVALUE :指定序列最大值。最大28位。必须大于等于起始值且大于等于序列最小值。

NOMAXVALUE:  无最大值(实际为10^27或-1)。default

MINVALUE :指定序列最小值。

NOMINVALUE  :无最小值(实际为1或-10^26)。Default

CYCLE  :指定序列达到最大值或最小值后继续从头开始生成。

NOCYCLE :不循环生成。Default.

CACHE :指定数据库内存中预分配的序列值个数,以便快速获取。最小cache值为2。

Cache参数最大值为:(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)

【官方文档解释】




【实验步骤】

创建名为seq1的序列

SQL@XFDB>> create sequence seq1

  2  start with 100

  3  increment by 10

  4  maxvalue 200

  5  cycle

  6  nocache;

 

SQL@XFDB> select seq1.nextval from dual;

 

   NEXTVAL

----------

       100

 

SQL@XFDB> /

 

   NEXTVAL

----------

       110

 

SQL@XFDB> /

 

   NEXTVAL

----------

       120

 

SQL@XFDB> /

 

   NEXTVAL

----------

       130

 

SQL@XFDB> /

 

   NEXTVAL

----------

       140

 

SQL@XFDB> /

 

   NEXTVAL

----------

       150

 

SQL@XFDB> /

 

   NEXTVAL

----------

       160

 

SQL@XFDB> /

 

   NEXTVAL

----------

       170

 

SQL@XFDB> /

 

   NEXTVAL

----------

       180

 

SQL@XFDB> /

 

   NEXTVAL

----------

       190

 

SQL@XFDB> /

 

   NEXTVAL

----------

       200

序列达到200后继续执行该语句,结果如下:

SQL@XFDB> /

 

   NEXTVAL

----------

         1

 

SQL@XFDB> /

 

   NEXTVAL

----------

        11

 

SQL@XFDB> /

 

   NEXTVAL

----------

        21

 

SQL@XFDB> /

 

 

 

   NEXTVAL

----------

        31

 

SQL@XFDB>

   NEXTVAL

----------

        41

 

SQL@XFDB> /

 

   NEXTVAL

----------

        51

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28373936/viewspace-2123514/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Xiaofei Huangfu Oracle DBA,Oracle ACE Oracle 19c OCM12c OCM,11g OCM MySQL 5.6,5.7,8.0 OCP 18年以上IT从业经验,有丰富的数据库和开发领域经验,多年Oracle运维经验和java开发经验。

注册时间:2013-09-05

  • 博文量
    151
  • 访问量
    231228