SQL e le Sequence Oggi vediamo cosa sono e come si usano le sequence SQL. |
Vediamo cos'è una sequence SQL: Le sequenze sono dei generatori automatici di numeri.
Quando vengono usate? Ad esempio per generare il numero da assegnare alla chiave di una tabella. Pensate ad un classico campo ID che deve identificare il record.
Partiamo con un esempio di creazione di una sequence SQL:
CREATE SEQUENCE <mioTablespace>.<mioNome> MINVALUE 1 NOMAXVALUE START WITH 1 INCREMENT BY 1 NOCACHE;
Vediamo però nel dettaglio la sintassi:
CREATE SEQUENCE seqname [ INCREMENT BY increment ]
[ MINVALUE minvalue ] [ MAXVALUE maxvalue ]
[ START start ] [ CACHE cache ] [ CYCLE ]
- seqname: il nome della sequence
- increment: il passo dell'incremento. Nel mio esempio c'è specificato 1, vuol dire che se l'ultimo valore è 10 il successivo valore sarà 11 (+1 rispetto al precedente valore).
- minvalue: il valore minimo da usare. E' il valore di partenza della sequence.
- maxvalue: il valore massimo al quale la sequence può arrivare. Per non usare il maxvalue si mette NOMAXVALUE.
- start: il valore dal quale la sequence deve partire. Tipicamente uguale al minvalue.
- cache: se usare o meno la cache. Per non usarla si mette NOCACHE.
Vediamo come si può prelevare il successivo valore della sequence mediante una query (potete usare la query per aumentare manualmente il valore corrente della sequence sql):
SELECT <nomeSequence>.NEXTVAL FROM DUAL