关于Oracle的Sequence

Oracle的Sequence可以实现统一ID管理。

  • Sequence的创建
create sequence sequence_name  --sequence名称
  minvalue 1  --最小值
  maxvalue 999  -- 最大值   nomaxvalue  不设置最大值(由机器决定)
  start with 1   --从1开始计数,数值可变
  increment by 1  --每次加1,数值可变
  nocycle  --一直累加,不循环;cycle:达到最大值后,将从头开始累加
  nocache;  --不建缓冲区。   如果建立cache那么系统将自动读取cache值个seq,这样会加快运行速度;如果在单机中使用cache,或者oracle死了,那么下次读取的seq值将不连贯,所以不建议使用cache。
  • Sequence的使用
获取当前值(如果是新创建的Sequence,直接获取当前值会报错,因为当前值不存在,应先获取下一个值):
SELECT sequence_name.currval FROM DUAL;

获取下一个值:
SELECT sequence_name.nextval FROM DUAL;
  • Sequence的删除
DROP SEQUENCE sequence_name;
  • Sequence的修改
alter sequence sequence_name -- 序列名 也可以更改
  minvalue 1   
  maxvalue 99999  
  start with 1   
  increment by 1  
  cycle    -- 到99999后,从头开始
  nocache;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值