Đây là một quy trình tốt để đặt lại bất kỳ chuỗi nào về 0 từ chuyên gia Oracle Tom Kyte. Thảo luận nhiều về ưu và nhược điểm trong các liên kết bên dưới.
[email protected]>
create or replace
procedure reset_seq( p_seq_name in varchar2 )
is
l_val number;
begin
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by -' || l_val ||
' minvalue 0';
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
end;
/
Từ trang này:SQL động để đặt lại giá trị trình tự
Một cuộc thảo luận hay khác cũng có ở đây:Làm thế nào để đặt lại trình tự?