Oracle序列
1. 删除序列
DROP SEQUENCE TEST_SEQ1;
在删除序列时,需要注意以下问题:
- 确保没有数据使用该序列生成的ID值。如果存在数据使用该序列生成的ID值,删除序列可能会导致ID不唯一,有可能损坏数据完整性。
- 确保没有其他数据库对象依赖该序列。如果存在其他数据库对象依赖该序列,删除序列可能会导致这些对象出现异常,影响系统的正常运行。
2. 创建序列
CREATE SEQUENCE TEST_SEQ1
MINVALUE 1 --第二次循环
MAXVALUE 20
START WITH 3 --第一次循环
INCREMENT BY 2
CYCLE
NOCACHE;
3. 获取序列的值
- NEXTVAL:返回序列中下一个有效的值
- CURRVAL:返回序列的当前值
注意,CURRVAL在创建完序列后不能直接用,得在NEXTVAL执行后才能使用,返回的值和他之前NEXTVAL的值一样
SELECT TEST_SEQ1.NEXTVAL FROM DUAL;
执行三次,分别返回 3,5,7,然后再执行下面sql
SELECT TEST_SEQ1.CURRVAL FROM DUAL;
返回7