Oracle中Sequence用法

在项目里,我们在设计Oracle表结构时常常需要有序列号字段。Oracle不像MySQL有自增的id序列,那么我们可以通过Oracle中的Sequence来帮助我们生成序列号。

一、创建Sequence

create sequence temp_seq minvalue 1 --最小值 maxvalue 99999999 --最大值 start with 1 --从1开始 increment by 3 --每次自增3 cache 20 --缓存20 cycle order;

二、获取Sequence值

定义好sequence后,你就可以用currval,nextval取得值
currval:返回 sequence的当前值
nextval:增加sequence的值,然后返回 增加后sequence值

--查询当前序列号 select tempseq.currval from dual; --查询下一个序列号 select tempseq.nextval from dual;

三、修改Sequence参数

ALTER SEQUENCE temp_seq INCREMENT BY 10 MAXVALUE 10000 CYCLE --到10000后从头开始 NOCACHE ;

四、删除Sequence

DROP SEQUENCE temp_seq;

comments powered by Disqus