由于Oracle不像mysql那样有自己的自增功能,为了实现oracle的自增功能,引入了序列。
一、创建序列的语法
CREATE SEQUENCE 序列名称
INCREMENT BY 步长
START WITH 开始值
MAXVALUE 最大值 | NOMAXVALUE
MINVALUE 最小值 | NOMINVALUE
CYCLE|NOCYCLE
CACHE 缓存个数 | NOCACHE
二、删除序列的语法
drop sequence 序列名称
三、序列的属性
currval:序列的当前值
nextval:序列的下一个值
首次使用的时候必须使用序列的nextval,如使用currval会报错,如下图。
此时查看当前序列:
再查看nextval:此时自增2
一直自增到20后,由于未指定最小值且设定了cycle模式,此时再查看nextval则变为1
四、序列的使用
由于oracle没有自增功能,再插入表数据时,id字段可以用序列来自动增加,此时我们可以用如下sql语句:
insert into test values(myid.nextval,'Tom');
insert into test values(myid.nextval,'David');
查看插入结果:由于刚才myid自增到3,所以在这里insert的第一条id=5,再自增间隔为2,所以第二条插入的id=7 。