Kreiranje sekvenci je važan aspekt Oracle SQL-a. Sekvence su objekti baze podataka iz kojih više korisnika može generirati jedinstvene cijele brojeve. Moguće je definirati određene aspekte kao što su prva vrijednost za početak, veličina prirasta i maksimalno ograničenje, između ostalog. Brojevi generirani nizom mogu se koristiti u nekoliko namjena kao što je generiranje jedinstvenih identifikatora, primarnih ključeva, kontrolnih brojeva i još mnogo toga.
Šta je sekvenca u Oracle SQL-u?
Sekvenca u Oracle SQL- u je objekt baze podataka koji vam omogućava generiranje jedinstvenih cjelobrojnih vrijednosti. Ovo postaje posebno korisno kada trebate kreirati jedinstvenu vrijednost primarnog ključa ili bilo koju jedinstvenu vrijednost unutar baze podataka. Efikasno je i praktično jer sprječava probleme s konkurentnošću, smanjuje mrežni promet i izbjegava režijske troškove održavanja pristupa dodjeljivanja zasnovanog na transakcijama.
CREATE SEQUENCE seq_name
POČNITE SA Initial_value
POVEĆANJE po inkrementalnoj_vrijednosti
MAXVALUE maksimalna_vrijednost
Kreiranje sekvence
Da biste kreirali sekvencu u Oracleu, možete koristiti naredbu CREATE SEQUENCE. Generator sekvence počinje s početnom vrijednošću, povećava se za određenu vrijednost i nikada ne prelazi maksimalnu vrijednost. Ako nema definiranih parametara, koriste se zadane vrijednosti. Redoslijed se može povećavati ili smanjivati, ovisno o vašim željama.
CREATE SEQUENCE test_seq
POČNI SA 1
POVEĆATI ZA 1
MAXVRIJEDNOST 10000
Gornji kod će kreirati sekvencu pod nazivom 'test_seq'. Niz će početi od 1, povećavati se za 1 za svaku sljedeću vrijednost i neće premašiti maksimalnu vrijednost od 10000.
Koristeći kreiranu sekvencu
Da biste iskoristili kreiranu sekvencu, pozivate funkciju NEXTVAL na objektu sekvence koja povećava sekvencu i vraća novu vrijednost. Funkcija CURRVAL se može koristiti za dohvat trenutne vrijednosti sekvence bez njenog povećanja. Međutim, CURRVAL se ne može uputiti prije nego se NEXTVAL pozove u sesiji.
INSERT INTO test_table (id, data) VALUES (test_seq.NEXTVAL, 'neki podaci');
Izmjena i uklanjanje sekvence
Postojeće sekvence se mogu mijenjati korištenjem naredbe ALTER SEQUENCE gdje se mogu mijenjati parametri kao što su INCREMENT, MAXVALUE, MINVALUE itd. Ako sekvencu treba ukloniti, koristi se naredba DROP SEQUENCE.
Promijeni redoslijed:
ALTER SEQUENCE test_seq
POVEĆATI ZA 2
MAXVRIJEDNOST 50000
Redoslijed ispuštanja:
DROP SEQUENCE test_seq
Zaključno, sekvence u Oracle SQL- u nude moćan alat za generiranje jedinstvenih brojeva, primarnih ključeva i drugih vrijednosti u okruženju s više korisnika. Jednostavne su za korištenje, konfigurabilne i efikasne zbog svoje samostalne prirode koja ne zahtijeva nikakve transakcijske kontrole.
