码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 基础——序列

时间:2017-12-17 16:53:12      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:sql语法   tar   9.png   指定   create   创建序列   最大   基础   mil   

一、什么是序列

  序列是用于生成唯一、连续序号的对象。序列可以是升序的,也可以是降序的,Oracle用户想创建序列必须有创建序列的角色权限。

二、创建序列的SQL语法

  创建序列:CREATE SEQUENCE SEQ_NAME START WITH n INCREMENT BY n2 MAXVALUE n3 MINVALUE n4 NOCYCLE(或者CYCLE) CACHE n5

  删除序列:DROP SEQUENCCE SEQ_NAME

  查看序列的当前值:SELECT SEQ_NAME.CURRVAL FROM DUAL(第一次查看序列中的值时候,只能使用NEXTVAL查看,不曾使用CURRVAL)

  查看序列的下一个值:SELECT SEQ_NAME.NEXTVAL FROM DUAL

  (1)SEQ_NAME:序列对象名

  (2)n:第一个开始的序号

  (3)n2:序号之间的间隔

  (4)n3:序号的最大值

  (5)n4:序号的最小值

  (6)n5:指定内存中预先分配的序号个数,从当前序号开始算起个数(Oracle11gR2中默认为20)

  (7)NOCYCLE:表示在达到最大值后停止生成下一个值

  (8)CYCLE:表示在达到最大值后继续循环从n开始生成序号

  (9)必须满足的条件:n>=n4,n<=n3,n3>=n4,n5<=(n3-n)

三、效果演示

  1、创建一个序列名SEQ_1开始值为1,最大值为5,并且依次递增1 NOCYCLE,SQL语句如下:

1 CREATE SEQUENCE SEQ_1 START WITH 1 INCREMENT BY 1 MAXVALUE 5 MINVALUE 1 NOCYCLE CACHE 10;

  如图1-1所示,成功创建序列SEQ_1,并且第一次查看序列中的值只能用NEXTVAL。如图1-2所示,当序列值达到最大值5时,停止生成下一个值

  技术分享图片

                        图 1-1

  技术分享图片

                         图 1-2

  2、创建一个序列名SEQ_2开始值为1,最大值为5,并且依次递增1 CYCLE,SQL语句如下: 

  

1 CREATE SEQUENCE SEQ_2 START WITH 1 INCREMENT BY 1 MAXVALUE 5 MINVALUE 1 CYCLE CACHE 4;

  如图2-1所示,成功创建序列SEQ_1,查看序列当前值用CURRVAL。如图2-2所示,当序列值达到最大值5时,循环生成开始值

  技术分享图片

                        图 2-1

  技术分享图片

                       图 2-2

  3、删除序列SEQ_1、SEQ_2,如图3-1所示

  技术分享图片

                      图 3-1

  

  明天又要上班了,呜呜呜呜呜。。。。

Oracle 基础——序列

标签:sql语法   tar   9.png   指定   create   创建序列   最大   基础   mil   

原文地址:http://www.cnblogs.com/xphDeV/p/8052311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!