一、序列
- 可以为表的主键做服务
- 序列是自增且不重复的字段
- 序列可以单独使用,不依赖表
1)语法
create sequence 序列名 创建序列,默认从1开始,每次自增量是1
start with n 开始值
increment by n 步长,每次自增的量
maxvalue 最大值
minvalue 最小值
2)使用
- 序列.nextval:获取当前序列的返回值,且向下自增
- 序列.currval:获取当前序列值,而且必须在nextval使用之后才可以执行
3)特点
- 为主键做服务
- 可以自动生成唯一的序列值
- 可以同时服务多张表,但是不建议
- 建议一个序列只服务一张表
4)命名:
- 服务的表名_seq
5)删除序列:
- drop sequence 序列名
--序列
CREATE SEQUENCE stu_seq
START WITH 10000;
--序列的使用
--单独使用
--nextval:获取当前值并向下自增
SELECT stu_seq.nextval FROM dual;
--currval:获取当前值,必须在nextval之后执行
SELECT stu_seq.currval FROM dual;