语法:
CREATE SEQUENCE 序列名称
[MAXVALUE]最大值[NOMAXVALUE]
[MINVALUE]最小值[NOMINVALUE]
[INCREMENT BY 步长][START WITH 起始值]
[CYCLE | NOCYCLE]
[CACHE 缓存个数 | NOCACHE];
默认缓存有20个。
序列属于数据库对象的创建过程,属于DDL的分类范畴。
查询user_sequence数据字典:
SELECT * FROM user_sequence;
序列名称.nextval:取得序列的下一个值,每一次调用序列的值都会增长;
序列名称.currval:取得序列的当前内容,每一次调用序列的值都不会增长,如果要想使用此伪列,在使用之前要先使用nextval的值才可以。
列子:
SELECT 序列名称.nextval FROM dual;
SELECT 序列名称.currval FROM dual;
CREATE TABLE person(
id NUMBER,
uname VARCHAR2(50),
CONSTRAINT pk_id PRIMARY KEY(id)
);
CREATE SEQUENCE seq_id;
INSERT INTO person(id,uname) VALUES(seq_id.nextval,'五星');
删除序列:
DROP SEQUENCE 序列名称;
--创建缓存序列
CREATE SEQUENCE seq_id
INCREMENT BY 2
START WITH 1
MINVALUE 1 MAXVALUE 100
CYCLE NOCACHE;