如何使用Oracle序列

简介: 如何使用Oracle序列:Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。 1、创建序列: CREATE SEQUENCE sequence_name [START WITH start_num] [INCREMENT BY inc...

如何使用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;

目录
相关文章
|
8月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
70 0
|
23天前
|
缓存 Oracle 关系型数据库
Oracle中的触发器与序列:自增列的魔法组合
【4月更文挑战第19天】Oracle数据库中,通过触发器和序列的组合可实现自增列功能。序列充当自动计数器,提供递增数值,而触发器则在插入新记录时自动分配序列值。创建序列如`CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1 NOCACHE`,然后创建触发器`TRIGGER trg_employees_before_insert`在`BEFORE INSERT`时将序列的下一个值赋予`employee_id`。这种方式使得在插入记录时无需手动设置ID,提高了效率。但使用时需注意序列状态、并发性和性能优化。
|
2月前
|
存储 SQL Oracle
Oracle系列十二:视图、记录、同义词、序列
Oracle系列十二:视图、记录、同义词、序列
|
6月前
|
索引
Oracle-序列、索引和同义词
Oracle-序列、索引和同义词
27 0
|
9月前
|
Oracle 关系型数据库
Oracle自增序列探秘:一篇文章教你读懂
Oracle自增序列探秘:一篇文章教你读懂
140 0
|
9月前
|
缓存 Oracle 关系型数据库
使用序列(Sequence)在 Oracle 数据库中管理唯一标识符
使用序列(Sequence)在 Oracle 数据库中管理唯一标识符
114 0
|
Oracle 关系型数据库 数据库
Oracle序列学习与使用总结
Oracle序列学习与使用总结
93 0
|
SQL Oracle 关系型数据库
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
184 0
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
|
Oracle 关系型数据库 数据库
Oracle数据库 创建触发器和序列(上)
Oracle数据库 创建触发器和序列
185 0
Oracle数据库 创建触发器和序列(上)
|
Oracle 关系型数据库 Java
hibernate注解 映射序列到Oracle
hibernate注解 映射序列到Oracle