sql >> Database >  >> RDS >> Oracle

Hoe reset ik een reeks in Oracle?

Hier is een goede procedure voor het resetten van een reeks naar 0 van Oracle-goeroe Tom Kyte. Geweldige discussie over de voor- en nadelen ook in de onderstaande links.

[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;
/

Van deze pagina:Dynamische SQL om reekswaarde opnieuw in te stellen
Hier is ook een andere goede discussie:Hoe reeksen opnieuw in te stellen?



  1. laad data spinner van sqlite en mysql

  2. Verwijder zeer grote databases

  3. Oracle (Oude?) Joins - Een tool/script voor conversie?

  4. Klasse niet gevonden bij het laden van JDBC org.postgresql.Driver