Oracle序列

序列用于生成一系列唯一数字的数据库对象。可以在多并发用户下使用,并产生不重复数字,不需要额外的i/o开销

它与视图一样,不占用空间,在数据字典中存储定义信息。

创建序列:                                                      

create sequence <seq_name>

[start with n]  --序列生成的开始位置,默认递增从minvalue开始,递减从maxvalue开始

[increment by n]  --整数将递增,负数将递减,默认1

[minvalue n|nominvalue] --决定序列生成的最小值

[maxvalue n|nomaxvalue] --决定序列生成的最大致

[cache n|nocache]  --序列是否预分配,并存储在内存

[cycle|nocycle]  --循环,当达到最大或最小值时,复位。当nocycle,达到最大或最小值时,报错。

[order|noorder] --保证按序产生

 

create seqence  id_seq

maxvalue 99999

start with 900

increment by 1

cache 50;

序列的两个常用伪列currval和nextval ,首次使用序列,必须使用nextval

insert into test(id,name) values(id.nextval,'zs');

 

 

管理序列:                                                   

除start with外,序列的其他子句可以修改。

alter sequence id_seq

maxvalue 99999999

increment by 50

cache 100;

当序列修改后,缓存中数据丢失。

 

查看序列信息:

desc user_sequences;

 

删除序列:

drop sequence id_seq;

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值