Denne veiledningen vil dekke følgende eksempler:
- Tilbakestill sekvensverdien
- Endre minimumsverdiene for sekvensen
- Endre de maksimale verdiene for sekvensen
- Endre hurtigbufferstørrelsen til sekvensen
- Angi størrelse og rekkefølge for hurtigbuffersekvensen
- Angi sekvensen til å generere synkende verdier
- Endre økningsverdien for sekvensen
- Endre sekvensen for å aktivere syklusalternativet
- Endre sekvensen for å deaktivere syklusalternativet
- Endre sekvensen for å endre flere alternativer
Tilbakestill sekvensverdien
For å tilbakestille sekvensverdien eller for å starte sekvensverdien på nytt fra startverdien, trykker du ' ENDRE sekvens kommandoen med ' OMSTART ” klausul kan brukes. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ RESTART;
I kommandoen ovenfor, ' LINUXHINT_SEQ ” representerer sekvensnavnet.
Produksjon
Utgangen viser at sekvensen er tilbakestilt.
Endre minimumsverdiene for sekvensen
Når en sekvens opprettes i Oracle, er minimumsverdien satt til 1 som standard. ENDRE sekvens kommandoen med ' MINVERDI ”-leddet kan brukes til å endre minimumsverdien til sekvensen. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;I dette eksemplet er den nye minimumsverdien -1 .
Produksjon
Utgangen viste at minimumsverdien er endret.
Endre de maksimale verdiene for sekvensen
Som standard er maksimumsverdien for en Oracle-sekvens '10^27 – 1', som er den størst mulige verdien for et 38-sifret desimaltall. For å endre den maksimale sekvensverdien, ' ENDRE sekvens kommandoen med ' MAXVALUE ” klausul kan brukes. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;I eksemplet ovenfor vil den nye maksimalverdien være 1000 .
Produksjon
På skjermbildet kan man se at maksimumsverdien er endret.
Merk : I eksemplet ovenfor vil sekvensen slutte å generere verdier etter at den når 1000, og alle forsøk på å generere en verdi utover det punktet vil resultere i en feil.
Endre hurtigbufferstørrelsen til sekvensen
Hurtigbufferstørrelsen bestemmer antall sekvensnumre som er forhåndstildelt og lagret i minnet for raskere tilgang. For å endre cache-størrelsen til sekvensen, bruk ' CACHE ' klausul med ' ENDRE sekvens ' kommando. Et eksempel er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;I eksemplet ovenfor er hurtigbufferstørrelsen til sekvensen satt til femti . Det betyr at sekvensnummer 50 vil bli forhåndstildelt om gangen for raskere tilgang.
Produksjon
Utgangen viser at cachestørrelsen er endret.
Angi størrelse og rekkefølge for hurtigbuffersekvensen
For å angi sekvensbufferstørrelsen og generere sekvensnumrene i rekkefølge, bruk ' REKKEFØLGE ' og ' CACHE ' klausuler med ' ENDRE sekvens ' kommando. Her er et eksempel:
ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;I dette eksemplet vil den nye cachestørrelsen være 100 .
Produksjon
Utgangen viste at endringene er gjort i sekvensen.
Angi sekvensen til å generere synkende verdier
Intervallet mellom sekvensnumrene bestemmes av inkrementtallet. Inkrementverdien er satt til 1 som standard, noe som betyr at det neste tallet i serien returneres hver gang sekvensen kalles. Når inkrementet er satt til -1, genererer sekvensen heltall i synkende rekkefølge.
For å angi sekvensen til å generere synkende verdier, bruk ' ØK MED ' med ' ENDRE sekvens ” kommandoen og sett verdien til -1. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ ØKES MED -1;I dette eksemplet er verdien -1 , som betyr at hver gang sekvensen kalles opp, returneres forrige nummer i sekvensen.
Produksjon
Utgangen viser at sekvensen er satt til å generere synkende verdier.
Endre økningsverdien for sekvensen
For å endre økningsverdien til sekvensen, bruk ' ØK MED ' med ' ENDRE sekvens ” kommando og angi verdien tilsvarende. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ ØKES MED 2;I dette eksemplet er verdien 2 , som betyr at hver gang sekvensen kalles opp, vil det neste tallet i sekvensen økes med 2.
Produksjon
Utgangen viste at sekvensen har blitt endret tilsvarende.
Endre sekvensen for å aktivere syklusalternativet
Når syklusalternativet er aktivert for en sekvens, vil sekvensen vikle seg rundt og starte på nytt fra begynnelsen (MINVERDI) når den når maksimalverdien (MAKSVERDI). For å aktivere dette alternativet, bruk ' SYKLUS ' klausul med ' ENDRE sekvens ' kommando. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ CYCLE; Produksjon
Utgangen som vises syklusalternativet er aktivert.
Endre sekvensen for å deaktivere syklus
Når syklusalternativet er deaktivert for en sekvens, vil sekvensen slutte å generere verdier når den når maksimumsverdien (MAXVALUE) eller minimumsverdien (MINVALUE), avhengig av generasjonsrekkefølgen. For å deaktivere dette alternativet, bruk 'NOCYCLE'-leddet med kommandoen 'ALTER SEQUENCE'. Eksemplet er gitt nedenfor:
ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE; Produksjon
Utgangen viste at syklusalternativet er deaktivert.
Endre sekvensen for å endre flere alternativer
Skriv inn den gitte kommandoen for å angi at sekvensen skal ha en negativ økning med -1, en maksimal verdi på 10 og et syklusalternativ aktivert:
ALTER SEQUENCE LINUXHINT_SEQ ØKES MED -1 MAKSVERDI 10 SYKLUS; Produksjon
Utdataene viste at endringene var gjort i sekvensen.
Konklusjon
I Oracle er ' ENDRE sekvens ”-kommandoen lar deg endre attributtene til en sekvens ved å tilbakestille sekvensverdien, endre minimums- og maksimumsverdier, økningsverdi, hurtigbufferstørrelse, bestilling og aktivere eller deaktivere syklusalternativet. Disse endringene er nyttige i mange typer omstendigheter, for eksempel når du trenger å endre startverdien til en sekvens eller justere caching-størrelsen for bedre ytelse. Dette innlegget har forklart ulike brukstilfeller av ALTER SEQUENCE-kommandoen ved å bruke praktiske eksempler.