Oracle - Nulstilling af en sekvens
- For at nulstille en sekvens SEQ oprettet gennem kommandoen:
CREATE SEQUENCE seq;
- Søg efter den aktuelle værdi via kommandoen:
SEQ.CURRVAL SELECT FROM DUAL;
- Derefter ændres sekvensen ved at tilføje optionen ved at tilføje trinværdien VAL (nuværende værdi - 1) for at nulstille sekvensen til 1:
ALTER SEQUENCE SEQ INCREMENT ved -VAL;
- Kør derefter kommandoen, der vil nulstille sekvensen:
SEQ.NEXTVAL VÆLG FRA DUAL;
- For at genoprette rækkefølgen af sekvensen:
ALTER SEQUENCE SEQ INCREMENT med 1;
Eksempel:
SQL> oprette sekvens seq; Sekvens oprettet. SQL> vælg seq.nextval from dual; NEXTVAL ---------- 1 SQL> vælg seq.nextval fra dual; NEXTVAL ---------- 2 SQL> vælg seq.nextval fra dual; NEXTVAL ---------- 3 SQL> vælg seq.currval fra dual; CURRVAL ---------- 3 SQL> ændre sekvens seq-stigning med -2; // 2 = SEQ.CURRVAL-1 Sekvens ændret. SQL> vælg seq.nextval from dual; NEXTVAL ---------- 1 SQL> ændre sekvens seq-stigning med 1; Sekvens ændret.