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