Oracle指定用户序列号sequences 下一个序列号增加10%
--指定用户所有序列号sequences 下一个序列号增加10%
declare
p_str varchar2(1000);
p_nextval number;
begin
for i in (select s.sequence_name,
s.increment_by,
s.cache_size,
s.last_number,
round(s.last_number * 0.1) numm --增加量10%
from dba_sequences s
where s.sequence_owner = 'owner'
and round(s.last_number * 0.1)>1) loop
p_str := 'alter sequence ' || i.sequence_name || ' increment by ' ||
i.numm || ' nocache';
--dbms_output.put_line(p_str);
execute immediate p_str;
p_str := 'select ' || i.sequence_name || '.nextval from dual';
dbms_output.put_line(p_str);
execute immediate p_str into p_nextval;
--dbms_output.put_line('--currval:'||i.last_number||';nextval:'||p_nextval);
p_str := 'alter sequence ' || i.sequence_name || ' increment by ' ||
i.increment_by || ' cache ' || i.cache_size;
--dbms_output.put_line(p_str);
execute immediate p_str;
end loop;
end;

浙公网安备 33010602011771号