序列 定义一个序列,自动产生连续的整数。
也称序列生成器(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;