Oracle ALTER SEQUENCE ved praktiske eksempler

Oracle Alter Sequence Ved Praktiske Eksempler



I Oracle er en sekvens et databaseobjekt, der genererer en unik serie af heltal, der kan bruges som en primær nøgle eller til ethvert andet formål, hvor der kræves et unikt tal. ALTER SEQUENCE er et kraftfuldt værktøj i Oracle, der giver dig mulighed for at ændre attributterne for en sekvens i databasen. Kommandoen ALTER SEQUENCE kan virke skræmmende i starten, men praktiske eksempler kan hjælpe dig med at forstå og udnytte dets fulde potentiale.

Denne guide vil dække følgende eksempler:

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.