oracle之序列

序列

15.1 序列是生成唯一整数值的结构,它的典型用途是用于主键值。

结合真题演示
伪列nextval, currval用法

CREATE SEQUENCE dept_deptno
INCREMENT BY 10
START WITH 50
MAXVALUE 100
CYCLE
NOCACHE

第一次要引用一下 nextval伪列
select dept_deptno.nextval from dual;
以后就有currval伪列值了。
select dept_deptno.nextval from dual;

15.2 几点说明:

1)最简单的建立序列只需要create sequence 序列名就可以,注意缺省值,起始是1,步长也是1。
2) 如果启用cache,缺省只有20个号,经验表明这个数量会不够,可以设置多一些,根据需要10000个也可以。
3)cycle其实没有什么意义,因为它使序列发出重复值,这对于基于序列是主键值的用法是个问题。
4) 创建序列后可以使用alter命令再进行修改。alter命令和create命令基本相同,只有一点区别:alter命令不能设置起始值。如果要重启该序列,唯一的办法是删除并重新创建它。
5)循环后初始是从1开始的, 不管原来的值是如何设的(考点)。

原文地址:https://www.cnblogs.com/jinxf/p/9166643.html