序列sequence

CREATE SEQUENCE donny.seq  --也是属于某个用户的,以下参数均可省略,使用默认值。

INCREMENT BY 1 --指定序列之间的间隔,正负整数;默认1,正为升序,负为降序。

START WITH 1 --第一个序列号,默认=MINVALUE

NOMAXVALUE --设置最大值,此处表示默认10的27次幂。MAXVALUE 10

NOMINVALUE --设置最小值,此处表示默认-10的26次幂。MINVALUE 1

NOCYCLE   --或者CYCLE;表示序列达到最大或者最小(降序)后,要不要从头开始

CACHE 10;   --默认CACHE 20, 事先分配多少序列号放在内存中,提高速度。

访问序列:

oracle为序列提供了两个伪列,可以看作其属性。

Nextval: 根据increment by得到的一个新的序列值。每次执行都会得到一个新值。

Currval: current value, 当前值,已经被取得的值。

Select seq.nextval from dual;

Select seq.currval from dual;

使用序列:

insert into t values(seq.nextval);

修改序列:

alter sequence seq …..重新指定各个参数

不能修改start with;除非删除重建

删除序列:

drop sequence seq;

数据字典:

desc dba_sequences / user_…/ all….

 


申明

非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

博文欢迎转载,但请给出原文连接。