1).创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。
create sequence seq_employee
increment by 1
start with 1
nomaxvalue(maxvalue 100,minvalue 10)
nocycle(cycle)
(nocache,cache)
2).什么是序列?序列的作用?
序列是一数据库对象,利用它可生成唯一的整数;
一般使用序列自动地生成主键值
3).如何使用已经创建好的序列?
首次使用必须先使用nextval
达到最大值后,从1开始,到11,再次达到最大值,从2开始。
select empseq.nextval from dual; 10
select empseq.nextval from dual; 20
select empseq.currval from dual; 20
4).修改序列需要注意的问题?
必须是序列的拥有者或对序列有 ALTER 权限
只有将来的序列值会被改变
改变序列的初始值只能通过删除序列之后重建序列的方法实现
alter sequence empseq
increment by 1
nocycle
5).如何删除序列?
drop sequence empseq;
6).序列在哪些情况下会出现裂缝?
1.回滚;
2.系统异常;
3.多个表同时使用同一序列;