创建序列
CREATE SEQUENCE myseq;
可以通过以下两个伪例来使用序列:
- nextval:指的是序列的下一个内容,没打过执行一次此操作,序列值就会加一
- currval:指的是取得当前序列的内容,每次执行后不变化
范例:nextval必须执行在currval之前,不然那会报错
SELECT myseq nextval FROM emp;
SELECT myseq currval FROM emp;
使用序列:
INSERT INTO emp(id) VALUES(myseq.nextval);
修改序列的开始值:
DROP SEQUENCE myseq;
CREATE SEQUENCE myseq START WITH 10;
SELECT myseq.nextval FROM dual;
改变序列步长:
CREATE SEQUENCE myseq
START WITH 10
INCREMENT BY 2 ;
创建一个序列,希望是1,3,5,7,9
在序列中的缓存:CACHE_SIZE 20 ,当序列大于20的时候,再直接加20;
CREATE SEQUENCE myseq
START WITH 1
INCREMENT BY 2 ;
MAXVALUE 10
MINVALUE 1
CYCLE //循环
CACHE 2; //设置缓存增长值为2