创建Oracle数据库序列可以用来自增Oracle数据的主键
创建序列
oracle序列的创建:
create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999;
CREATE SEQUENCE seq_newsId
[increment by n]
[start with n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue]
[NOCYCLE | CYCLE]
INCREMENT BY: 指定序列号之间的间隔(递增值),该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
MAXVALUE:指定序列可生成的最大值
NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
MINVALUE:指定序列的最小值。
NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026.
CYCLE:到达最大值后循环
NOCYCLE:到达最大值是不循环
一旦定义了seq_newsId,你就可以用CURRVAL,NEXTVAL
CURRVAL:返回 sequence的当前值
NEXTVAL:增加sequence的值,然后返回 sequence 值
比如:
select sq1.nextval from dual
select sq1.CURRVAL from dual
删除序列
drop sequence 序列名