Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zresetować sekwencję w Oracle?

Oto dobra procedura resetowania dowolnej sekwencji do 0 od Oracle guru Toma Kyte. Świetna dyskusja na temat zalet i wad w poniższych linkach.

[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 tej strony:Dynamiczny SQL do resetowania wartości sekwencji
Kolejna dobra dyskusja jest również tutaj:Jak zresetować sekwencje?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest aktualny widok zrzutów APPL_TOP

  2. Program PL/SQL do drukowania danych pracowników

  3. Wyzwalacz Oracle ORA-04098:wyzwalacz jest nieprawidłowy i nie powiodła się ponowna weryfikacja

  4. Podziel varchar na oddzielne kolumny w Oracle

  5. Jak przewidzieć i uciec od pojedynczego cytatu „w wyroczni”