首页 > 经验记录 > 数据库对象_序列

数据库对象_序列

序列
序列(Sequence)可以自动的按照既定的规则实现数据的编号操作
 
序列的完整创建语法
              CREATE SEQUENCE 序列名
                     [INCREMENT BY 步长]
                     [START WITH 开始值]
                     [MAXVALUE 最大值 | NOMAXVALUE]
                     [MINVALUE 最小值 | NOMINVALUE]
                     [CYCLE | NOCYCLE]
                     [CACHE 缓存大小 | NOCACHE];
 
如果是默认序列,那么所有的选项都是默认值,默认初始值是1,最小值是0,最大值是无限大
 
 
查询数据字典—— user_sequences 可以查看序列
SELECT * FROM user_ sequences;
 
要操作一个已经创建完成的序列,则可以使用序列中提供的两个伪列进行操作
序列名称.currval:  表示取得当前序列已经增长的结果,重复调用多次后序列内容不会有任何变化,同时当前序列的大小(LAST_NUMBER)不会改变。
       序列名称.nextval: 表示取得一个序列的下一次增长值,每调用一次序列都会自动增长
对于给出的伪列而言,一定是先使用nextval,而后才可以使用currval,也就是说表示的概念是只有在执行了nextval之后序列才真正进行到了可用的状态
 
 
对于序列之中,缓存是一个非常重要的概念,就是说在序列使用之前,已经在内存中为用户提供好了一系列的生成的序列号,用的时候不是说随用的时候随取,而是已经准备好了
如果设置了缓存,那么数据库出现了问题,那么可能这些缓存的数据就会消失,如果再次使用,就可能会出现跳号关系。
 
 
       序列的最终目的是生成自动增长列,这个情况就需要结合表去一起使用
       在添加语句中直接给想要自增的列上写 序列名称.nextval,就可以了
 
如果要删除序列使用:DROP SEQUENCE 序列名
 
 
 
 
 
 
修改序列的语法..和创建差不多
       ALTER SEQUENCE 序列名称
[INCREMENT BY 步长]
              [MAXVALUE 最大值 | NOMAXVALUE]
              [MINVALUE 最小值 | NOMINVALUE]
              [CYCLE | NOCYCLE]
              [CACHE 缓存大小 | NOCACHE];
 
      
 
 
 

           


EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00