ITPub博客

首页 > 数据库 > Oracle > Oracle OCP(23):序列

Oracle OCP(23):序列

原创 Oracle 作者:Ryan_Bai 时间:2019-01-30 10:16:44 0 删除 编辑

概述

是oracle提供的用于产生一系列唯一数字的数据库对象。

  • 自动提供唯一的数值

  • 共享对象

  • 主要用于提供主键值

  • 将序列值装入内存可以提高访问效率

一、创建

  • 需要权限:create sequence 或 create any sequence

  • 语法:

    CREATE SEQUENCE <sequence_name>
          [INCREMENT BY n]
          [START WITH n]
          [{MAXVALUE n | NOMAXVALUE}]
          [{MINVALUE n | NOMINVALUE}]
          [{CYCLE | NOCYCLE}]
          [{CACHE n | NOCACHE}]
    
  • 参数说明

    • INCREMENT:递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

    • START WITH:开始的值,递增默认是minvalue 递减是maxvalue

    • MAXVALUE | NOMAXVALUE:最大值

    • MINVALUE | NOMINVALUE:最小值

    • CYCLE | NOCYCLE:循环/不循环

    • CACHE | NOCACHE:分配并存入到内存中

  • 函数说明

    • NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用

    • CURRVAL 中存放序列的当前值

    • NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

二、删除

DROP SEQUENCE <sequence_name>;

三、修改

ALTER SEQUENCE <sequence_name>
      [INCREMENT BY n]
      [START WITH n]
      [{MAXVALUE n | NOMAXVALUE}]
      [{MINVALUE n | NOMINVALUE}]
      [{CYCLE | NOCYCLE}]
      [{CACHE n | NOCACHE}];

修改序列的注意事项:

  1. 必须是序列的拥有者或对序列有 ALTER 权限

  2. 只有将来的序列值会被改变

  3. 改变序列的初始值只能通过删除序列之后重建序列的方法实现

四、查询信息

SELECT * FROM DBA_SEQUENCES;

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

请登录后发表评论 登录
全部评论
Oracle 10g OCE、OCA、OCP; Oracle 11g OCP、OCM; MySQL 5.6 OCP; Oracle 11g OCP讲师; 屈臣氏首席DBA;

注册时间:2017-09-18

  • 博文量
    52
  • 访问量
    20080