ITPub博客

首页 > 数据库 > Oracle > Oracle对象:序列(sequence)介绍

Oracle对象:序列(sequence)介绍

原创 Oracle 作者:a960549548 时间:2024-09-03 11:22:46 0 删除 编辑

Oracle Sequence是Oracle数据库中的一个对象,它是一个自增的数字序列,用于生成唯一的数字ID。您可以使用 CREATE SEQUENCE 语句在自己的模式中创建新的序列对象

就是创建一个序列,然后可以在任何表中 insert 时,对某个列引用这个创建的序列,达到自增的目的.

1. 创建序列

CREATE SEQUENCE sequence_name

[START WITH start_num]

[INCREMENT BY increment_num]

[{MAXVALUE maximum_num|NOMAXVALUE}]

[{MINVALUE minimum_num|NOMINVALUE}]

[{CYCLE|NOCYCLE}]

[{CACHE cache_num|NOCACHE}]

[{ORDER|NOORDER}];

 

start_num :序列开始整数

increment_num :每次增加的整数增量

maximum :序列最大整数

minimum :序列最小整数

CYCLE :循环生成

NOCYCLE :不循环生成,默认值

cache_num :保存在内存中的整数的个数

NOCACHE :不缓存任何整数

例子:

CREATE SEQUENCE seq_test START WITH 2 INCREMENT BY 2 MAXVALUE 9999999999 MINVALUE 1 NOCYCLE NOCACHE NOORDER;

查看序列

select * from dba_sequences where SEQUENCE_OWNER='DEF';

SQL> select • from dba_sequences where SEQUENCE_OwNER—• DEF  SEQUENCE_OwNER  SQL >  SEQUENCE—NANE  SQ—TEST  MIN—VALUE  1  MAX—VALUE  9999999999  INCREMENT—BY  2  c  N  O CACHE_SIZE LAST_NWBER  N  16

2. 使用序列

SELECT seq_test.nextval FROM dual;

insert into order_status2 (id) values (seq_test.nextval);

例子:

SQL> select • from  2  2  2  2  2  16  18  abc  abc  abc  abc  abc  7 rows selected.  SQL>  SQL >  SQL >  SQL >  SQL> select • from  SEQUENCE_OWNER  def. d;  dba_sequences where SEQUENCE_OWNER•• DEF  SQ—TEST  MIN—VALUE  1  MAX—VALUE INCREMENT_BY C O CACHE_SIZE LAST_M.WBER  9999999999  20  SQL> insert into def.d (id) values (def. seq_test. nextval);  1 row created.  SQL> select • from def. d;  2  2  2  2  2  16  18  20  abc  abc  abc  abc  abc  8 rows selected.  SQL >

3. 修改序列

ALTER SEQUENCE name

    [INCREMENT BY n]      nfs

    [{MAXVALUE n | NOMAXVALUE}]

    [{MINVALUE n | NOMINVALUE}]

    [{CYCLE | NOCYCLE}]

    [{CACHE n | NOCACHE}]

例子:

alter sequence 用户 . SEQUENCE_NAME cache 30;

4. 删除序列

drop sequence student_id_seq;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70013625/viewspace-3026691/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE,MySQL 8.0 OCP,PMP,拥有OceanBase OBCP,TiDB PCTP,GoldenDB GDCP等多项认证,ITPUB认证专家,微信公众号:DBA之友。

注册时间:2022-02-08

  • 博文量
    132
  • 访问量
    171523