1. 创建序列
先创建一个序列对象(举例为test_seq),代码如下:
CREATE SEQUENCE test_seq
START WITH 1
INCREMENT BY 1
MAXVALUE 99999
MINVALUE 1
NOCYCLE
NOCACHE;
其中:
- START WITH 1:起始值是1
- INCREMENT BY 1:每次自增1
- MAXVALUE:序列的最大值
- MINVALUE:序列的最小值
- NOCYCLE:达到最大值后,SEQUENCE发生错误而不是回绕至最小值
- NOCACHE:指定不使用缓存
2. 序列的使用
在插入数据时,使用nextval函数获取序列的下一个值:
SELECT test_seq.NEXTVAL FROM dual;
其中,test_seq.NEXTVAL获取序列的下一个值,用于插入一个新的记录。
3. 序列的当前值
可以通过CURRVAL函数查询当前的序列值:
SELECT test_seq.CURRVAL FROM dual;
如果当前序列没有使用nextval函数获取过值,则会报错。