Tworzenie sekwencji w Oracle SQL wygląda następująco:
CREATE SEQUENCE nazwa_sekwencji
minvalue q
maxvalue x
start with y
increment by z
gdzie parametry q, x, y, z oznaczają kolejno:
q – minimanlą wartość sekwencji
x – maksymalną wartość sekwencji
y – wartość początkową sekwencji
z – wartość o którą zwiększy się sekwencja
Dla przykładu utworzymy czesto stosowaną sekwencje “licznik”:
CREATE SEQUENCE licznik
minvalue 1
maxvalue 9999
start with 1
increment by 1
Aby móc korzystać z danej sekwencji możemy posłużyć się poleceniami: currval oraz nextval.
currval – wyświetla aktualną wartość sekwencji
select nazwa_sekwencji.currval from dual;
select licznik.currval from dual;
nextval – zwiększa wartość sekwencji o wartość określoną poprzez “increment by” podczas definiowania sekwencji
select nazwa_sekwencji.nextval from dual;
select licznik.nextval from dual;
Zanim wykorzystamy naszą sekwencję wpierw musimy zainicjować poleceniem:
select licznik.nextval from dual; -- 1
Kolejne wywołanie zwiększa sekwencję:
select licznik.nextval from dual; -- 2
select licznik.nextval from dual; -- 3
select licznik.nextval from dual; -- 4
Aby odczytać aktualną wartość sekwencji posłużymy się poleceniem:
select licznik.currval from dual; -- 4
Aby skasować sekwencję posłużymy się poleceniem:
DROP SEQUENCE nazwa_sekwencji;
W naszym przypadku będzie to:
DROP SEQUENCE licznik;
Leave a Reply