sql >> Databáze >  >> RDS >> Oracle

Jak resetuji sekvenci v Oracle?

Zde je dobrý postup pro resetování libovolné sekvence na 0 od guru Oracle Tom Kyte. Skvělá diskuse o výhodách a nevýhodách v níže uvedených odkazech.

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

Z této stránky:Dynamický SQL pro resetování hodnoty sekvence
Další dobrá diskuze je také zde:Jak resetovat sekvence?



  1. 3 způsoby, jak naformátovat číslo jako procento v PostgreSQL

  2. Je středník nezbytný v SQL?

  3. SQL Server pojmenovaná instance s projektem instalačního programu Visual Studio 2017

  4. Vyberte skupinu řádků, které odpovídají všem položkám v seznamu