Oracle: reimpostazione di una sequenza
- Per ripristinare una sequenza SEQ creata tramite il comando:
CREA SEQUENZA seq;
- Cerca il suo valore corrente tramite il comando:
SEQ.CURRVAL SELECT FROM DUAL;
- Quindi modifica la sequenza aggiungendo l'opzione aggiungendo il valore di incremento VAL (valore corrente - 1) per reimpostare la sequenza su 1:
INCREMENTO SEQ IN SEQUENZA ALTER per -VAL;
- Quindi esegui il comando che ripristinerà la sequenza:
SEQ.NEXTVAL SELECT FROM DUAL;
- Per ripristinare l'incremento della sequenza:
ALTER SEQUENCE SEQ INCREMENT di 1;
Esempio:
SQL> crea sequenza seq; Sequenza creata. SQL> seleziona seq.nextval da dual; NEXTVAL ---------- 1 SQL> seleziona seq.nextval da dual; NEXTVAL ---------- 2 SQL> seleziona seq.nextval da dual; NEXTVAL ---------- 3 SQL> seleziona seq.currval da dual; CURRVAL ---------- 3 SQL> alter sequence seq incrementa di -2; // 2 = SEQ.CURRVAL-1 Sequenza alterata. SQL> seleziona seq.nextval da dual; NEXTVAL ---------- 1 SQL> altera sequenza seq incrementa di 1; Sequenza alterata.