Oracle 原理:序列

 序列是生成唯一的连续序号的对象。有点像SQLServer里面的种子标识,可以用来实现自增。

CREATE SEQUENCE S_NO    --序列名
START WITH 1            --起始值
INCREMENT BY 1          --自增值
MAXVALUE  200           --最大值
MINVALUE 1              --最小值
NOCYCLE                 --超过最大值是否从头算起
CACHE 10;               --内存中预先分配的序列号

创建序列需要权限 CREATE SEQUENCE;

CACHE 10 :指的是预先分配的序列号。比如当用户要取序列 1 时,1~10就会一起生成好,这样下次取序列2时,就不用先进行计算了,直接取序列2就行。

CREATE SEQUENCE S_NO2    --序列名
START WITH 1            --起始值
INCREMENT BY 1 ;         --自增值

select * from user_sequences

查看自身用户创建的的序列信息可以用user_sequences ;  查看所有用户的序列信息可以用 dba_sequences

我们可以看见,各个值的默认值,当没有指明值的时候,MIN_VALUE默认是1,MAX_VALUE是10^28,不进行循环,CACHE_SIZE为20;

使用SEQUENCE 时, CURRVAL 获取当前序列;NEXTVAL 获取下一个序列;首次使用SEQUENCE时要使用NEXTVAL对序列进行初始化,否则会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值