Secventa

Secvenţa este o componentă a bazei de date Oracle utilizată pentru a genera numere distincte. Aceste valori se pot folosi de unul sau mai multe tabele, de unul sau mai mulţi utilizatori, ca valori pentru chei cu valori distincte. Sintaxa instrucţiunii este:
CREATE SEQUENCE [schema.]nume_secventa optiuni
unde optiuni pot fi:
START WITH int
INCREMENT BY int
{MAXVALUE int | NOMAXVALUE}
{MINVALUE int | NOMINVALUE}
CYCLE | NOCYCLE
CACHE int | NOCACHE
ORDER | NOORDER
Secvenţa de valori începe cu valoarea din opţiunea START WITH, se modifică printr-un pas precizat de INCREMENT BY, valoarea minimă poate fi precizată de MAXVALUE şi valoarea maximă din opţiunea MINVALUE. După obţinerea valorilor extreme (maximă sau minimă) se poate continua cu valoarea minimă sau maximă (se face o generare ciclică).
Se poate genera un şir de valori (implicit 20 valori) ce se păstrează în memorie (apare opţiunea CACHE).
Cu ORDER se cere ca valorile să fie furnizate în ordine crescătoare (valori utile pentru timestamps).

NOMAXVALUE precizează valoarea maximă la 10^27 pentru o secvenţă crescătoare şi -1 pentru o secvenţă descrescătoare.
NOMINVALUE precizează valoarea minimă la 1 pentru o secvenţă crescătoare şi -10^26 pentru o secvenţă descrescătoare.
Modificarea definiţiei unei secvenţe se poate face prin instrucţiunea:
ALTER SEQUENCE [schema.]nume_secventa optiuni
unde ca opţiuni se pot folosi cele de la CREATE SEQUENCE.

Stergerea unei secvenţe se face prin instrucţiunea:
DROP SEQUENCE [schema.]nume_secventa
O secvenţă se poate folosi astfel (prin "pseudo-coloane"): După definirea secvenţei este necesar apelul pseudo-coloanei nextval pentru ca secvenţa să aibă o valoare curentă.