Oracle序列管理

Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。

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;(默认值)

CREATE SEQUENCE seq_test START WITH 1 INCREMENT BY 2;

2、使用序列:

SELECT seq_test.nextval FROM dual;

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

3、修改序列:

ALTER SEQUENCE语句来修改序列。可以修改的内容:

  • 不能修改序列的初值
  • 序列的最小值不能大于当前值
  • 序列的最大值不能小于当前值

例如:ALTER SEQUENCE seq_test INCREMENT BY 3;

4、删除序列:

DROP SEQUENCE seq_test;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章