[Oracle] Seed değerlerinin resetlenmesi

Oracle’da seed değerlerinin aşağıdaki scriptten faydalanabilirsiniz. İncelediğim kaynaklar da aşağısındadır.
Aşağıdaki script bir procedure oluşturur. Sequence ismini parametre geçerek ilgili sequence’ı sıfırlayabilir, böylelikle seed değerini de resetlemiş olursunuz.

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;

kaynak : http://stackoverflow.com/questions/51470/how-do-i-reset-a-sequence-in-oracle

kaynak : https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:951269671592

kaynak : https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1119633817597

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir