Oracle 序列创建、使用、修改、删除

创建序列

CREATE SEQUENCE sequence_name

[START WITH num]

[INCREMENT BY increment]

[MAXVALUE num|NOMAXVALUE]

[MINVALUE num|NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHE num|NOCACHE]

(1)start with

从某一个整数开始,升序默认值是1,除序默认值是-1.

(2)increment by

增长数。如果是正数则升序生成,如果是负数则降序生成。升序默认值 是1,降序默认值是-1.

(3)maxvalue

最大值。

(4)minvalue

最小值。

(5)nomaxvalue

升序的是1027,降序是-1

(6)nominvalue

升序是1,降序是-1026

(7)cycle

表示如果升序达到最大值后,从最小值重新开始,降序同理。

(8)nocycle

表示不重新开始。

(9)cache

为了更快的响应,保存在内存中的一些序列,默认20个。

(10)nocache

不预先在内存中生成序列号。

生成序列号

SQL> CREATE SEQUENCE MYSEQ
 MINVALUE 1
 START WITH 1
 NOMAXVALUE
 INCREMENT BY 1
 NOCYCLE
 CACHE 30
 /

 

Sequence created

使用

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

SQL> SELECT MYSEQ.CURRVAL FROM DUAL;

CURRVAL

----------

修改

使用alter sequence可以修改序列,在修改序列时有如下限制:

(1)不能修改序列的初始值

(2)最小值不能大于当前值

(3)最大值不能小于当前值

SQL> ALTER SEQUENCE MYSEQ
 MAXVALUE 10000
 MINVALUE -300
 /

SEQUENCE ALTERED

SQL> DROP SEQUENCE MYSEQ;

SEQUENCE DROPPED

猜你喜欢

转载自blog.csdn.net/CHS007chs/article/details/84230571
今日推荐