Oracle序列
序列: 是一个能够生成唯一值的数据库对象。
使用序列可以实现主键的自增长。
create sequence 序列名
[start with n] --序列的开始值,默认为1
[increment by n] --序列的步长,默认为1
[minvalue n] --最小值,默认为1
[maxvalue n] --最大值,没有限制
[nocycle|cycle] –是否循环生成序列,默认nocycle
[cache n];
create sequence seq_test1;
select seq_test1.currval from dual;
select seq_test1.nextval from dual;
select seq_test1.currval from dual;
insert into emp (empno,ename)
values (seq_test1.nextval,'aaa');
commit;
select * from emp;
create sequence seq_test2
start with 3
increment by 3
maxvalue 20
cycle
cache 5;
select seq_test2.nextval from dual;
修改序列
alter sequence 序列名
[increment by n] --序列的步长,默认为1
[minvalue n] --最小值,默认为1
[maxvalue n] --最大值,没有限制
[nocycle|cycle] --是否循环生成序列,默认nocycle
[cache n];
alter sequence seq_emp_empno
increment by 2
minvalue 50
maxvalue 2000
cycle
cache 50;
删除序列
drop sequence 序列名;