数据库中的序列sequence对象
程序员文章站
2022-06-02 13:02:21
...
这篇文章讲述的是数据库中的序列sequence对象,如有不当或者错误之处还望各位大神批评指教。
什么是序列?
- 序列是数据库中的一个可以为多个用户产生唯一数值的数据库对象,它主要用于提供共享的主键值。
序列的创建
create sequence test_seq
increment by 1 -- 每次增长一个
start with 100000 --从100000开始
minvalue 100000 --最小值100000
maxvalue 199999 --最大值199999
nocycle --不允许循环
nocache --不装入内存
序列的使用
序列有两个方法:
1. nextval 获取序列的下一个值
2. currval 获取序列的当前值
- 新建表seq,包括主键和姓名,并往里插入两条数据,要求主键来自于序列test_seq
create table seq (
id number(6) primary key not null,
name varchar (200)
)
insert into seq (id , name)
values (test_seq.nextval , '测试数据1') ;
insert into seq (id , name)
values (test_seq.nextval , '测试数据2') ;
执行结果:
修改序列
- 将text_seq的增长间隔设置为10
alter sequence test_seq
increment by 10
注:不能修改序列的初始值,必须删除序列
删除序列
- 删除序列test_seq
drop sequence test_seq ;