Oracle中select SEQ_YX.nextval from dual是什么意思?

 

一、示例描述

   

   dual : 是oracle的虚拟表,不是真实存在的。
   SEQ_YX : 这个是开发人员自己定义的一个序列名称,序列一般用于生成id号。
        如:SEQ_CODE_COMMON
   SEQ_YX.nextval 就是取序列的下一个值。
        如:SEQ_CODE_COMMON.NEXTVAL  

二、序列定义

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

三、序列查询

   通过SQL语句查询序列:

      例:select * from user_sequences    

       1、USER_OBJECTS:查看用户拥有的序列。

       2、USER_SEQUENCES:查看序列的设置。

四、创建序列 

语法说明:

创建序列
  语法 CREATE SEQUENCE 序列名 [相关参数]
参数说明
   MAXVALUE:序列可生成的最大值。(NOMAXVALUE:不限制最大值)
   MINVALUE:序列可生成的最小值。(NOMINVALUE:不限制最小值)
   START WITH:序列的初始值。(默认1)
   INCREMENT BY :序列变化的步进,负值表示递减。(默认1)
   CYCLE:用于定义当序列产生的值达到限制值后是否循环。(NOCYCLE:不循环,CYCLE:循环)
   CACHE:表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置             NOCACHE。
   ORDER:保证序列号按请求顺序产生。如果想以序列号作为timestamp(时间戳)类型的话,可以采用该选项;NOORDER:此选     项跟ORDER相对应,并不按照请求的顺序进行生成。

五、示例说明

     

   create sequence SEQ_CODE_COMMON  --- 创建序列名为 SEQ_CODE_COMMON
   minvalue 1  --- 最小值为1
   maxvalue 9999999999999999999999999999  --- 最大值为9999999999999999999999999999
   start with 921  --- 初始值 921
   increment by 1  --- 每次增长值 1
   cache 20  --- 缓存大小 20
   order  --- 序列号按请求顺序生成

声明:文章仅供参照,如有勘误,欢迎探讨交流,指点纠正,本着相互学习的心态,查漏补缺共同进步!!!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值