序列

序列

-- sequence 序列

-- 序列是数据库的一种对象,用于生成一串不重复的编号,可以递增或递减

作用:

  1. 可以为表中列自动产生值
  2. 由用户创建数据库对象来创建序列(sequence),并且可以由多个用户共享
  3. 一般用在主键或者唯一列

1.创建序列:

语法:

create sequence 序列名称

start with 开始数字 默认是1

increment by 增长数字 默认是1

minvalue 最小值 默认是1

maxvalue 最大值 默认是1

cache 批量生成多少个序号,使用完后再生成一批,用于序列的创建优化,默认是20

例子:

create sequence myseq --创建序列名

start with 1            --从1开始

increment by 1          --每次增长1

maxvalue 999999999      --最大值 //nomaxvalue(不设置最大值)

minvalue 1              --最小值

cycle                   --循环 //nocycle(一直累加,不循环)

nocache                 --不使用缓存

解释:从1开始,每次增长1,最大值999999999,之后循环从1开始。

2.使用序列

-- 序列在使用时,可以使用序列的两个伪列: CURRVAL -取得序列的当前值,NEXTVAL - 获取序列的下一个值

-- 序列创建后CURRVAL是没有值的,必须先使用NEXTVAL获取下一值,这是序列才会生产一批值

create table test(id number primary key,name varchar2(32));

insert into test values(myseq.nextval,'abc');

insert into test values(myseq.nextval,'ddd');

特别说明:

1、myseq:表示序列的名字,nextval:关键字,表示从序列中取下一个值。

2、sequence序列是需要配合number类型的列来使用;

3、sequence序列是要在主键或unique列上使用的。

3. 删除序列

DROP SEQUENCE SEQ_TEST;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值