一、序列是生成唯一整数值的结构,它的典型用途是用于主键值
create sequence dept_deptno
increment by 10
start with 50
maxvalue 100
cycle
nocache
第一次要引用一下nextval伪列
select deptno_deptno.nextval from dual;
以后就有currval伪列值了。
select dept_deptno.nextval from dual;
2.几点说明
- 最简单的建立序列只需要create sequence序列名就ok,注意缺省值是1,步长也是1
- 如果启用cache,缺省只有20几个号,经验表明这个数量会不够,可以多设置一些,根据需要可设置10000个。
- cycle其实无意义,因为它使序列发出重复值,这对于基于序列是主键值的用法是个问题
- 创建序列后可使用alter 命令再进行修改。alter命令和create命令基本相同,只有一点区别:alter命令不能设置起始值。如果要重启该序列,唯一办法是删除并重新创建它
- 巡检后初始是从1开始,不管原来的值是如何设的