Ovaj će vodič obuhvatiti sljedeće primjere:
- Ponovno postavite vrijednost sekvence
- Promijenite minimalne vrijednosti niza
- Promijenite maksimalne vrijednosti niza
- Promijenite veličinu predmemoriranja sekvence
- Postavite veličinu i redoslijed predmemorije
- Postavite sekvencu za generiranje padajućih vrijednosti
- Promijenite vrijednost povećanja niza
- Promijenite slijed da biste omogućili opciju ciklusa
- Promijenite slijed da biste onemogućili opciju ciklusa
- Promijenite slijed za izmjenu više opcija
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.