Oracle - Resetování sekvence

  • Obnovení sekvence SEQ vytvořené pomocí příkazu:
    •  VYTVOŘIT SEQUENCE seq; 
  • Vyhledejte aktuální hodnotu pomocí příkazu:
    •  SEQ.CURRVAL SELECT Z DUAL; 
  • Pak změňte pořadí přidáním možnosti přidáním hodnoty inkrementu VAL (aktuální hodnota - 1) pro reset sekvence na 1:
    •  ALTER SEQUENCE SEQ INCREMENT by -VAL; 
  • Poté spusťte příkaz, který resetuje sekvenci:
    •  SEQ.NEXTVAL SELECT Z DUAL; 
  • Obnovení přírůstku sekvence:
    •  ALTER SEQUENCE SEQ INCREMENT o 1; 

Příklad:

 SQL> vytvořit sekvenci seq; Vytvořená sekvence. SQL> vyberte seq.nextval z dual; NEXTVAL ---------- 1 SQL> vyberte seq.nextval z dual; NEXTVAL ---------- 2 SQL> vyberte seq.nextval z dual; NEXTVAL ---------- 3 SQL> vyberte seq.currval od dual; CURRVAL ---------- 3 SQL> změna pořadí seq přírůstek o -2; // 2 = SEQ.CURRVAL-1 Sekvence změněna. SQL> vyberte seq.nextval z dual; NEXTVAL ---------- 1 SQL> změna sekvence seq přírůstek o 1; Sekvence se změnila. 
Předchozí Článek Následující Článek

Nejlepší Tipy