欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-20 08:58:16
...

创建序列

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