ITPub博客

首页 > 数据库 > Oracle > 序列

序列

原创 Oracle 作者:brj880719 时间:2017-10-27 11:28:21 0 删除 编辑

一、概述

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

1、自动提供唯一的数值
2、共享对象
3、主要用于提供主键值
4、将序列值装入内存可以提高访问效率

二、创建

1、需要权限:

create sequence 或 create any sequence

2、语法:

  1. CREATE SEQUENCE <sequence_name>
  2.       [INCREMENT BY n]
  3.       [START WITH n]
  4.       [{MAXVALUE n | NOMAXVALUE}]
  5.       [{MINVALUE n | NOMINVALUE}]
  6.       [{CYCLE | NOCYCLE}]
  7.       [{CACHE n | NOCACHE}];
3、参数说明

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

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

  c) MAXVALUE | NOMAXVALUE:最大值

  d) MINVALUE | NOMINVALUE:最小值

  e) CYCLE | NOCYCLE:循环/不循环

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

4、函数说明

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

  b) CURRVAL 中存放序列的当前值

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

三、删除

  1. DROP SEQUENCE <sequence_name>;

四、修改

  1. ALTER SEQUENCE <sequence_name>
  2.       [INCREMENT BY n]
  3.       [START WITH n]
  4.       [{MAXVALUE n | NOMAXVALUE}]
  5.       [{MINVALUE n | NOMINVALUE}]
  6.       [{CYCLE | NOCYCLE}]
  7.       [{CACHE n | NOCACHE}];

修改序列的注意事项:

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

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

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

四、查询信息

  1. SELECT * FROM DBA_SEQUENCES;

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

上一篇: 查询表信息
下一篇: COPY & SYS
请登录后发表评论 登录
全部评论

注册时间:2014-12-06

  • 博文量
    75
  • 访问量
    67605