9、oracle序列创建与重置

oracle序列创建与重置

1、创建序列

1.1、语法

-- Create sequence 
create sequence [sequenceName]
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;

minvalue:序列支持的最小值

maxvalue:序列支持的最大值

increment:步长

start with:初始默认值

cache:缓存的大小

1.2、使用

查找当前序列号

select [sequenceName].currval from dual;

查找下一个序列号

select [sequenceName].nextval from dual;

mybatis中使用,在save中加入

<selectKey resultType="long" keyProperty="id" order="BEFORE">
   select [sequenceName].nextval sequenceNo from dual
</selectKey>

2、序列重置

2.1、使用步长重置

前提:必须先知道当前表数据id的最大值,假设为100

alter sequence  [sequence_name] increment by 100;     //b为预想的值和a的差,设置步长为100
select   [sequence_name].nextval from dual; //达到预想值
alter sequence  [sequence_name] increment by 1;//设置步长为100

2.2、重新创建序列重置

对已经授权给其他用户的序列,需要重新授权,先删除序列,然后将start with的值设置为100

posted @ 2022-09-15 10:04  站着说话不腰疼  阅读(738)  评论(0)    收藏  举报