SEQUENCE: aggiornare una sequence ad un valore

E' chiesto di portare la sequence T180_SEQ al valore 558631

Per vedere il valore attuale fare la query 

SQL> select T180_SEQ.currval  from dual;

se va in errore, calcolare prima il nuovo valore e poi quello attuale:

SQL> select T180_SEQ.nextval  from dual;

SQL> select T180_SEQ.currval  from dual;

Otteniamo 558145


Calcolare la differenza:

SQL> select 558633 - 558145 from dual;

488

Incrementare la sequence di 488 (ho messo 486 per incrementarlo successivamente "a mano")

SQL> ALTER SEQUENCE T180_SEQ INCREMENT BY 486;

Incrementare la sequence di 486

SQL> select T180_SEQ.nextval  from dual;

SQL> select T180_SEQ.currval  from dual;

Ottengo

558631


Reimposto l'incremnto a 1 (che era il valore originale):

SQL> ALTER SEQUENCE T180_SEQ INCREMENT BY 1;


Rieseguo altre due volte la seguente query per incrementare di due posizioni la sequence

SQL> select T180_SEQ.nextval  from dual;

SQL>  select T180_SEQ.currval  from dual;

Ottengo

558631

Post popolari in questo blog

Create e Drop Pluggable Database

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione