Oracle ALTER SEQUENCE pomoću praktičnih primjera

Oracle Alter Sequence Pomocu Prakticnih Primjera



U Oracleu, niz je objekt baze podataka koji generira jedinstveni niz cijelih brojeva koji se mogu koristiti kao primarni ključ ili za bilo koju drugu svrhu gdje je potreban jedinstveni broj. ALTER SEQUENCE moćan je alat u Oracleu koji vam omogućuje izmjenu atributa niza u bazi podataka. Naredba ALTER SEQUENCE može se isprva činiti zastrašujućom, ali praktični primjeri vam mogu pomoći da razumijete i iskoristite njezin puni potencijal.

Ovaj će vodič obuhvatiti sljedeće primjere:

Ponovno postavite vrijednost sekvence

Za ponovno postavljanje vrijednosti sekvence ili za ponovno pokretanje vrijednosti sekvence od početne vrijednosti ' PROMIJENI SLIJED ' naredba s ' PONOVNO POKRENI ” može se koristiti klauzula. Primjer je dat u nastavku:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

U gornjoj naredbi, ' LINUXHINT_SEQ ” predstavlja naziv sekvence.



Izlaz



Izlaz pokazuje da je niz poništen.





Promijenite minimalne vrijednosti niza

Kada se niz kreira u Oracleu, prema zadanim postavkama njegova je minimalna vrijednost postavljena na 1. ' PROMIJENI SLIJED ' naredba s ' MIN VRIJEDNOST ” može se koristiti za promjenu minimalne vrijednosti niza. Primjer je dat u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

U ovom primjeru, nova minimalna vrijednost je -1 .



Izlaz

Izlaz je pokazao da je minimalna vrijednost promijenjena.

Promijenite maksimalne vrijednosti niza

Prema zadanim postavkama, najveća vrijednost Oracle niza je '10^27 – 1', što je najveća moguća vrijednost za 38-znamenkasti decimalni broj. Za promjenu maksimalne vrijednosti sekvence, ' PROMIJENI SLIJED ' naredba s ' MAKSIMALNA VRIJEDNOST ” može se koristiti klauzula. Primjer je naveden u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

U gornjem primjeru, nova maksimalna vrijednost bit će 1000 .

Izlaz

Na snimci zaslona se vidi da je maksimalna vrijednost promijenjena.

Bilješka : U gornjem primjeru, niz će prestati generirati vrijednosti nakon što dosegne 1000, a svaki pokušaj generiranja vrijednosti iznad te točke rezultirat će pogreškom.

Promijenite veličinu predmemoriranja sekvence

Veličina predmemorije određuje broj rednih brojeva koji su unaprijed dodijeljeni i pohranjeni u memoriji radi bržeg pristupa. Da biste promijenili veličinu predmemorije niza, koristite ' PRIPREMA ' klauzula s ' PROMIJENI SLIJED ” naredba. Primjer je dat u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

U gornjem primjeru, veličina predmemorije niza postavljena je na pedeset . To znači da će redni broj 50 biti unaprijed dodijeljen za brži pristup.

Izlaz

Izlaz prikazuje da je veličina predmemorije promijenjena.

Postavite veličinu i redoslijed predmemorije

Da biste postavili veličinu predmemorije niza i generirali brojeve redoslijeda, koristite ' NARUDŽBA ' i ' PRIPREMA ' klauzule s ' PROMIJENI SLIJED ” naredba. Evo primjera:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

U ovom primjeru, nova vrijednost veličine predmemorije bit će 100 .

Izlaz

Izlaz je pokazao da su promjene napravljene u nizu.

Postavite sekvencu za generiranje padajućih vrijednosti

Interval između rednih brojeva određen je brojem inkrementa. Vrijednost povećanja postavljena je na 1 prema zadanim postavkama, što znači da se sljedeći broj u nizu vraća svaki put kada se niz pozove. Kada je inkrement postavljen na -1, niz generira cijele brojeve u silaznom redoslijedu.

Da biste postavili niz za generiranje padajućih vrijednosti, koristite ' POVEĆAJ ZA ' s ' PROMIJENI SLIJED ” i postavite vrijednost na -1. Primjer je dat u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1;

U ovom primjeru vrijednost je -1 , što znači da se pri svakom pozivanju niza vraća prethodni broj u nizu.

Izlaz

Izlaz prikazuje da je niz postavljen za generiranje padajućih vrijednosti.

Promijenite vrijednost povećanja niza

Za promjenu vrijednosti povećanja niza, koristite ' POVEĆAJ ZA ' s ' PROMIJENI SLIJED ” i postavite odgovarajuću vrijednost. Primjer je naveden u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY 2;

U ovom primjeru vrijednost je 2 , što znači da će svaki put kad se niz pozove, sljedeći broj u nizu biti povećan za 2.

Izlaz

Izlaz je pokazao da je slijed u skladu s tim izmijenjen.

Promijenite slijed da biste omogućili opciju ciklusa

Kada je opcija ciklusa omogućena za sekvencu, sekvenca će se zaokružiti i započeti ispočetka (MINVALUE) kada dosegne najveću vrijednost (MAXVALUE). Da biste omogućili ovu opciju, koristite ' CIKLUS ' klauzula s ' PROMIJENI SLIJED ” naredba. Primjer je dat u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Izlaz

Prikazani izlaz opcija ciklusa je omogućena.

Promijenite slijed da biste onemogućili ciklus

Kada je opcija ciklusa onemogućena za sekvencu, sekvenca će prestati generirati vrijednosti kada dosegne svoju maksimalnu vrijednost (MAXVALUE) ili minimalnu vrijednost (MINVALUE), ovisno o redoslijedu generiranja. Da biste onemogućili ovu opciju, upotrijebite klauzulu “NOCYCLE” s naredbom “ALTER SEQUENCE”. Primjer je naveden u nastavku:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Izlaz

Izlaz je pokazao da je opcija ciklusa onemogućena.

Promijenite slijed za izmjenu više opcija

Upišite zadanu naredbu da biste postavili da niz ima negativni prirast od -1, maksimalnu vrijednost od 10 i omogućenu opciju ciklusa:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 MAXVALUE 10 CYCLE;

Izlaz

Izlaz je pokazao da su promjene u nizu uspješno napravljene.

Zaključak

U Oracleu, ' PROMIJENI SLIJED ” Naredba vam omogućuje promjenu atributa niza poništavanjem vrijednosti niza, mijenjanjem minimalnih i maksimalnih vrijednosti, vrijednosti povećanja, veličine predmemoriranja, redoslijeda i omogućavanjem ili onemogućavanjem opcije ciklusa. Ove promjene su korisne u mnogim vrstama okolnosti, kao što je kada trebate promijeniti početnu vrijednost niza ili prilagoditi veličinu predmemoriranja za bolje performanse. Ovaj post je objasnio različite slučajeve upotrebe naredbe ALTER SEQUENCE koristeći praktične primjere.