Bạn có thể sử dụng số tăng âm để đặt lại chuỗi thành giá trị thấp hơn - tập lệnh này (nó chỉ là phiên bản khối PL / SQL của bạn) sẽ hoạt động với các giá trị chuỗi lớn hơn 9999 mà không gặp vấn đề gì):
declare
currval pls_integer;
diff pls_integer;
begin
select SQ_USER_ID.nextval into currval from dual;
dbms_output.put_line('value before alter: ' || currval);
diff := 99999 - currval;
dbms_output.put_line('diff: ' || diff);
execute immediate ' alter sequence SQ_USER_ID INCREMENT BY ' || diff || 'nocache';
select SQ_USER_ID.nextval into currval from dual;
dbms_output.put_line('value after alter: ' || currval);
execute immediate 'alter sequence SQ_USER_ID INCREMENT BY 1 cache 20';
end;