oracle中序列讲解!

序列(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获取序列的下一个值
在获取序列的当前值时,必须先通过检索序列的下一个值对序列初始化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值