Denne guide vil dække følgende eksempler:
- Nulstil sekvensværdien
- Skift minimumsværdierne for sekvensen
- Skift de maksimale værdier for sekvensen
- Skift Caching-størrelsen af sekvensen
- Indstil størrelsen og rækkefølgen af cachesekvensen
- Indstil sekvensen til at generere faldende værdier
- Skift sekvensens stigningsværdi
- Skift rækkefølgen for at aktivere cyklusindstilling
- Skift rækkefølgen for at deaktivere cyklusindstillingen
- Ændre rækkefølgen for at ændre flere indstillinger
Nulstil sekvensværdien
For at nulstille sekvensværdien eller for at genstarte sekvensværdien fra dens startværdi skal ' ÆNDRE sekvens kommandoen med ' GENSTART ” klausul kan bruges. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ GENSTART;
I ovenstående kommando, ' LINUXHINT_SEQ ” repræsenterer sekvensnavnet.
Produktion
Udgangen viser, at sekvensen er blevet nulstillet.
Skift minimumsværdierne for sekvensen
Når en sekvens oprettes i Oracle, er dens minimumværdi som standard sat til 1. ' ÆNDRE sekvens kommandoen med ' MINVÆRDI ”-klausulen kan bruges til at ændre minimumsværdien af sekvensen. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;I dette eksempel er den nye minimumsværdi -1 .
Produktion
Udgangen viste, at minimumsværdien er blevet ændret.
Skift de maksimale værdier for sekvensen
Som standard er den maksimale værdi af en Oracle-sekvens '10^27 – 1', som er den størst mulige værdi for et 38-cifret decimaltal. For at ændre den maksimale sekvensværdi skal ' ÆNDRE sekvens kommandoen med ' MAXVALUE ” klausul kan bruges. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;I ovenstående eksempel vil den nye maksimumværdi være 1000 .
Produktion
På skærmbilledet kan det ses, at den maksimale værdi er blevet ændret.
Bemærk : I ovenstående eksempel stopper sekvensen med at generere værdier, når den når 1000, og ethvert forsøg på at generere en værdi ud over det punkt vil resultere i en fejl.
Skift Caching-størrelsen af sekvensen
Cachestørrelsen bestemmer antallet af sekvensnumre, der er forhåndstildelt og gemt i hukommelsen for hurtigere adgang. For at ændre cachestørrelsen for sekvensen skal du bruge ' CACHE ' klausul med ' ÆNDRE sekvens ” kommando. Et eksempel er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;I ovenstående eksempel er cachestørrelsen for sekvensen sat til halvtreds . Det betyder, at sekvensnummeret 50 vil blive forhåndstildelt ad gangen for hurtigere adgang.
Produktion
Outputtet viser, at cachestørrelsen er blevet ændret.
Indstil størrelsen og rækkefølgen af cachesekvensen
For at indstille sekvenscachens størrelse og generere sekvensnumrene i rækkefølge, brug ' BESTILLE ' og ' CACHE '-klausuler med ' ÆNDRE sekvens ” kommando. Her er et eksempel:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;I dette eksempel vil den nye cachestørrelse være 100 .
Produktion
Outputtet viste, at ændringerne er blevet foretaget i sekvensen.
Indstil sekvensen til at generere faldende værdier
Intervallet mellem sekvensnumre bestemmes af stigningstallet. Forøgelsesværdien er som standard sat til 1, hvilket betyder, at det næste tal i serien returneres, hver gang sekvensen kaldes. Når stigningen er sat til -1, genererer sekvensen heltal i faldende rækkefølge.
For at indstille sekvensen til at generere faldende værdier, skal du bruge ' FORØG MED ' med ' ÆNDRE sekvens ” kommando og indstil værdien til -1. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ FORØG MED -1;I dette eksempel er værdien -1 , hvilket betyder, at hver gang sekvensen kaldes, returneres det forrige nummer i sekvensen.
Produktion
Outputtet viser, at sekvensen er blevet indstillet til at generere faldende værdier.
Skift stigningsværdien for sekvensen
For at ændre stigningsværdien af sekvensen, brug ' FORØG MED ' med ' ÆNDRE REKVENSE ” kommando og indstil værdien i overensstemmelse hermed. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ FORØG MED 2;I dette eksempel er værdien 2 , hvilket betyder, at hver gang sekvensen kaldes, vil det næste tal i sekvensen blive forøget med 2.
Produktion
Udgangen viste, at rækkefølgen er blevet ændret i overensstemmelse hermed.
Skift rækkefølgen for at aktivere cyklusindstilling
Når cyklusindstillingen er aktiveret for en sekvens, vil sekvensen pakkes rundt og starte igen fra begyndelsen (MINVÆRDI), når den når maksimumværdien (MAXVÆRDI). For at aktivere denne mulighed skal du bruge ' CYKLUS ' klausul med ' ÆNDRE sekvens ” kommando. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ CYCLE; Produktion
Udgangen, der vises cyklusindstillingen, er blevet aktiveret.
Skift sekvensen for at deaktivere cyklus
Når cyklusindstillingen er deaktiveret for en sekvens, stopper sekvensen med at generere værdier, når den når sin maksimumværdi (MAXVALUE) eller minimumværdi (MINVALUE), afhængigt af genereringsrækkefølgen. For at deaktivere denne mulighed skal du bruge 'NOCYCLE'-sætningen med kommandoen 'ALTER SEQUENCE'. Eksemplet er givet nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE; Produktion
Outputtet viste, at cyklusindstillingen er blevet deaktiveret.
Ændre rækkefølgen for at ændre flere indstillinger
Indtast den givne kommando for at indstille sekvensen til at have en negativ stigning med -1, en maksimal værdi på 10 og en cyklusindstilling aktiveret:
ALTER SEQUENCE LINUXHINT_SEQ FORØG MED -1 MAXVALUE 10 CYCLE; Produktion
Outputtet viste, at ændringerne var blevet foretaget i sekvensen med succes.
Konklusion
I Oracle er ' ÆNDRE sekvens ”-kommandoen giver dig mulighed for at ændre attributterne for en sekvens ved at nulstille sekvensværdien, ændre minimums- og maksimumværdierne, stigningsværdi, cachingstørrelse, bestilling og aktivere eller deaktivere cyklusindstillingen. Disse ændringer er nyttige under mange slags omstændigheder, såsom når du skal ændre startværdien af en sekvens eller justere cachingstørrelsen for bedre ydeevne. Dette indlæg har forklaret forskellige anvendelsestilfælde af ALTER SEQUENCE-kommandoen ved hjælp af praktiske eksempler.