oracle中序列的,oracle中序列讲解!

本文介绍了数据库中创建和使用序列的方法,包括创建序列的基本语法、参数设置如起始值、增长值、最大值和最小值,以及如何获取和使用序列的当前值和下一个值。示例展示了不同序列配置的用法,帮助理解序列在数据库主键生成中的应用。
摘要由CSDN通过智能技术生成

序列(sequence):

生成一个整数序列

通常用来填充数字类型的主键列

创建序列语法:

create  sequence  seq_name

[start with  start_num]

[increment by  incre_num]

[maxvalue  max_num  |  nomaxvalue]

[minvalue  min_num  |  nominvalue]

创建序列语法(续1):

[cycle  |  nocycle]

nomaxvalue指定升序序列的最大值为10^27,降序序列的最大值为-1,为缺省值

nominvalue指定升序序列的最小值为1,降序序列的最小值为-10^26,为缺省值

创建序列语法(续2):

cycle指定升序序列达到最大值时,下一个生成的值是最小值,降序序列类似

max_num >= start_num

max_num > min_num

一般选择nocache选项,避免序列不连续

例1:

create  sequence  seq1

seq1序列全部采用缺省参数,起始值和增长值都是1

例2:

create sequence seq2

start with  10  increment  by  5

起始值为10,增长值为5

例3:

create  sequence  seq3

start  with  10  increment  by  -1

minvalue  1  maxvalue  10

cycle  cache  5

创建一个初始值为10,增量为-1,并循环创建数值的降序序列

获取序列信息:

select  *  from  seuser_sequences;

使用序列:

序列生成一系列数字

包含两个伪列,分别是currval 和 nextval

currval获取序列的当前值

select seq1.nextval, seq1.currval from dual;nextval获取序列的下一个值在获取序列的当前值时,必须先通过检索序列的下一个值对序列初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值