oracle学习之序列sequence

创建

create sequence my_sequence 
increment by 1
start with 1
maxvalue 99999
minvalue 1 cycle cache 5;

修改

alter sequence my_sequence  start with 1;--无法变更启动序列号
alter sequence my_sequence next number 10;--无法变更当前值,但可以结合 increment by和select修改
alter sequence my_sequence increment by 3;--修改增量
alter sequence my_sequence minvalue 3;--修改最小值
alter sequence my_sequence maxvalue 999;--修改最大值
alter sequence my_sequence nominvalue;--初始化为1
alter sequence my_sequence nocache;--初始化为0

使用

select my_sequence.currval from dual;--当前序列值
select my_sequence.nextval from dual;--下个序列值

Oracle在创建序列(sequence)时有个参数你可以选择cache或者nocache,下面简单说一下两者的区别:
如果指定CACHE值,Oracle预先在内存里面放置一些Sequence,这样存取的快些,高并发下效率高,但可能会产生跳号
如果指定NOCACHE值,就不会产生跳号,但在高并发访问时,容易导致row cache lock等待事件

 

转载于:https://www.cnblogs.com/yong198707/p/7561475.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值