1、什么是sequence?
在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。
2、sequence的作用?
当需要建立一个自增字段时,需要用到sequence
3、用sequence的优点、缺点,及不用sequence时该怎么办?
4、sequence的基本用法?
(1)创建
CREATE SEQUENCE SEQUENCENAME
minvalue:序列最小值
maxvalue/nomaxvalue:序列最大值/没有最大值
start with 1:序列从1开始
increment by 1:每次增加1
cache/nocache:nocache不缓存。cache缓存。开启缓存,效率高,只是如果数据库宕机了,缓存丢失,会出现序列跳号情况。
nocycle:一直累加,不循环
(2)查看已有sequence
select * from all_sequences;
(3)得到sequence值
elect SEQUENCE_NAME.nextval from sys.dual;
定义好sequence后,你就可以用currVal,nextVal取得值。
CurrVal:返回 sequence的当前值
NextVal:增加sequence的值,然后返回 增加后sequence值