Oracle数据库创建序列

本文介绍如何在Oracle数据库中创建序列来实现自增主键,包括序列的基本语法、参数解释及如何通过CURRVAL和NEXTVAL获取序列值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建Oracle数据库序列可以用来自增Oracle数据的主键

创建序列

oracle序列的创建:

create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999;


CREATE SEQUENCE seq_newsId
[increment by n]
[start with n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue]

[NOCYCLE | CYCLE]

INCREMENT BY: 指定序列号之间的间隔(递增值),该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
MAXVALUE:指定序列可生成的最大值

NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。

MINVALUE:指定序列的最小值。

NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026.

CYCLE:到达最大值后循环

NOCYCLE:到达最大值是不循环


一旦定义了seq_newsId,你就可以用CURRVAL,NEXTVAL
CURRVAL:返回 sequence的当前值
NEXTVAL:增加sequence的值,然后返回 sequence 值
比如:
select sq1.nextval from dual

select  sq1.CURRVAL  from dual


删除序列

drop sequence 序列名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值