sql >> Database teknologi >  >> RDS >> Oracle

Hvordan nulstiller jeg en sekvens i Oracle?

Her er en god procedure til at nulstille enhver sekvens til 0 fra Oracle-guruen Tom Kyte. God diskussion om fordele og ulemper i nedenstående links også.

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

Fra denne side:Dynamisk SQL for at nulstille sekvensværdi
En anden god diskussion er også her:Hvordan nulstiller man sekvenser?



  1. Oracle-tekst undslipper med krøllede seler og jokertegn

  2. Eksport af Oracle Table til Excel-regneark

  3. Sådan bruger du UPDATE fra SELECT i SQL Server

  4. Parameteriseret forespørgsel til MySQL med C#