Oracle ALTER SEQUENCE etter praktiske eksempler

Oracle Alter Sequence Etter Praktiske Eksempler



I Oracle er en sekvens et databaseobjekt som genererer en unik serie med heltall som kan brukes som en primærnøkkel eller til andre formål der et unikt tall kreves. ALTER SEQUENCE er et kraftig verktøy i Oracle som lar deg endre attributtene til en sekvens i databasen. ALTER SEQUENCE-kommandoen kan virke skremmende i begynnelsen, men praktiske eksempler kan hjelpe deg å forstå og utnytte dets fulle potensial.

Denne veiledningen vil dekke følgende eksempler:

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.