一、用法

Oracle中,当需要建立一个自增字段时,需要用到sequence。sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。

二、创建

首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。

CREATE SEQUENCE seqTest
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为NOCACHE

说明

minvalue:序列最小值
maxvalue/nomaxvalue:序列最大值/没有最大值
start with 1:序列从1开始
increment by 1:每次增加1
cache/nocache:nocache不缓存。cache缓存。开启缓存,效率高,只是如果数据库宕机了,缓存丢失,会出现序列跳号情况

三、查看

select * from user_sequences; 
Select * from all_sequences;
select * from user_sequences where sequence_name='SEQ_JOB_LOG';

四、删除

DROP SEQUENCE seqTest;