zoukankan      html  css  js  c++  java
  • Oracle序列

    序列定义:

    oracle用于生成唯一序列号的数据库对象,会自动按递增顺序生成的列号,达到主键值的作用

    优点:

    1.可以在并发环境中使用,为用户生成不重复的顺序序列,相比于(REDIS、ZOOKEEPER)不需要任何额外的I/O开销。
    2.不占用实际的存储空间,只是在数据字典中保存他的定义信息

    语法示例:

    create sequence DEMO_SEQUENCE
      maxvalue 99--序列产生产生的最大值。
       start with 50 --从50开始
       increment by 10--每次跳10个序列号递增
       cache 10;--在系统中预分配10个。将来生成的序列号为50,60,70,80,90
    

    常用属性:

    Increment :一个正数将生成一个递增的序列,一个负数将生成一个递减的序列。默认值为1

    minvalue:决定序列生成的最小值。

    maxvalue:决定序列生成的最大值。

    start: 制定序列的开始位置。默认情况下,递增序列的起始值为minvalue,递减序列的起始值为maxvalue。

    cache:是否产生序列号预分配,并存储在内存中。

    cycle: 可选的关键字,当序列到达最大值(maxvalue)或者最小值(minvalue)时可复位并继续下去。如果达到极限。生成的下一个数据将分别是最小值(正序列)或者最大值(负序列)。如果使用NO CYCLE 选项,那么在序列达到最大值或最小值之后,如果再试图获取下一个值将返回一个错误。

    order: 可以保证生成的序列值是有顺序的。而NOODDER只保证序列的值唯一性,不保证产生列值的顺序。

    注意:

    第一次使用时必须使用伪列nextval,否则提示【尚未在此会话中定义】,之后可以使用currVal或nextval
    nexval 返回序列生成的下一个序列号。
    currval 返回序列的当前序列号。

    select WX_948_GRAPHIC_SEQUENCE.currval from dual;--尚未在此会话中定义
  • 相关阅读:
    如何克隆虚拟机
    如何将Linux rm命令删除的文件放入垃圾箱
    centOS如何设置时间同步
    linux环境搭建系列之maven
    Telnet 安装
    pycharm许可证过期
    linux环境搭建系列之svn安装
    linux环境搭建系列之Apache MQ安装
    通过 U 盘安装 VMware ESXi 5.5 的过程及其注意事项
    图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……
  • 原文地址:https://www.cnblogs.com/brxHqs/p/14709719.html
Copyright © 2011-2022 走看看