oracle之序列SEQUENCE

  • 序列SEQUENCE是oacle提供的用于产生一系列唯一数字的数据库对象。
  1. 自动提供唯一的数值
  2. 共享对象
  3. 主要用于提供主键值
  4. 将序列值装入内存可以提高访问效率

 

  • 序列创建

  CREATE SEQUENCE emp_sequence         序列名
  INCREMENT BY 1                                        如果省略,则默认为1,如果负值,则代表序列的值是按照此步长递减的。
  START WITH 1                                             从1开始计数
  [MINVALUE 1              [  ]只取其中一个[  ]

  MAXVALUE 999999999999999]                  设置最小值和最大值

  [NOMAXVALUE                                             

  NOCYCLE ]                                                  不设置最大值 , 一直累加,不循环
  CACHE 20;                                                   CACHE(缓冲)定义存放序列的内存块的大小,默认为20。

 

  • 序列修改

  ALTER SEQUENCE emp_sequence           序列名
  [INCREMENT BY n]
  [{MAXVALUE/ MINVALUE n|NOMAXVALUE}]
  [{CYCLE|NOCYCLE}]
  [{CACHE n|NOCACHE}];

  注意:不能修改序列的初始值

 

  • 删除序列

  DROP SEQUENCE emp_sequence           序列名

 

  • 查看序列

  SELECT SEQUENCE_NAME FROM USER_SEQUENCES    (查看所有序列)

    SELECT COUNT(1) FROM USER_SEQUENCES U WHERE U.SEQUENCE_NAME='查询的序列名'    (查看是否存在该序列)

posted @ 2020-10-15 09:45  唐尼_wang  阅读(121)  评论(0编辑  收藏  举报