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

浙公网安备 33010602011771号