序列
定义一个序列,自动产生连续的整数。
也称序列生成器(sequence
generator)产生序列号。在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘I/O或事务*。
序列号为ORACLE整数,最多可有38个数字。
一个序列定义指出一般信息:1序列的名字,2上升或下降,3序列号之间间距和其它信息,
创建序列:
create sequence mysequence
--序列
increment by
1
start with
91
maxvalue
100
nocache
nocycle;
查看序列:
使用数据字典表USER_SEQUENCES
SELECT
sequence_name, min_value, max_value,
2 increment_by,
last_number
3 FROM user_sequences;
序列伪列:
NEXTVAL和 CURRVAL
NEXTVAL返回下一个有效的序列值。
CURRVAL得到当前的序列值。
第一次使用序列时必须首先调用NEXTVAL,否则CURRVAL
不会包含任何值。
SELECT project_team_seq.NEXTVAL FROM
DUAL;
更改序列:可以改变increment value, maximum value, minimum value, cycle option, 或cache 选项。操作者必须是序列的拥有者。
ALTER SEQUENCE
dept_deptno
2 INCREMENT BY
1
3 MAXVALUE 999999
4 NOCACHE
5
NOCYCLE;