Oracle ALTER SEQUENCE Genom praktiska exempel

Oracle Alter Sequence Genom Praktiska Exempel



I Oracle är en sekvens ett databasobjekt som genererar en unik serie heltal som kan användas som en primärnyckel eller för något annat ändamål där ett unikt nummer krävs. ALTER SEQUENCE är ett kraftfullt verktyg i Oracle som låter dig ändra attributen för en sekvens i databasen. Kommandot ALTER SEQUENCE kan verka skrämmande till en början, men praktiska exempel kan hjälpa dig att förstå och utnyttja dess fulla potential.

Den här guiden kommer att täcka följande exempel:

Återställ sekvensvärdet

För att återställa sekvensvärdet eller för att starta om sekvensvärdet från dess startvärde trycker du ' ÄNDRA SEKVENS kommandot med ' OMSTART ” klausul kan användas. Exemplet ges nedan:







ALTER SEQUENCE LINUXHINT_SEQ OMSTART;

I kommandot ovan, ' LINUXHINT_SEQ ” representerar sekvensnamnet.



Produktion



Utgången visar att sekvensen har återställts.





Ändra minimivärdena för sekvensen

När en sekvens skapas i Oracle är dess minimivärde som standard satt till 1. ÄNDRA SEKVENS kommandot med ' MINVÄRDE ”-satsen kan användas för att ändra minimivärdet för sekvensen. Exemplet ges nedan:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

I det här exemplet är det nya minimivärdet -1 .



Produktion

Utgången visade att minimivärdet har ändrats.

Ändra maximala värden för sekvensen

Som standard är maxvärdet för en Oracle-sekvens '10^27 – 1', vilket är det största möjliga värdet för ett 38-siffrigt decimaltal. För att ändra det maximala sekvensvärdet, ' ÄNDRA SEKVENS kommandot med ' MAXVALUE ” klausul kan användas. Exemplet finns nedan:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

I exemplet ovan kommer det nya maxvärdet att vara 1000 .

Produktion

På skärmdumpen kan man se att maxvärdet har ändrats.

Notera : I exemplet ovan kommer sekvensen att sluta generera värden efter att den når 1000, och alla försök att generera ett värde efter den punkten kommer att resultera i ett fel.

Ändra Caching-storleken för sekvensen

Cacheminnestorleken bestämmer antalet sekvensnummer som är förallokerade och lagrade i minnet för snabbare åtkomst. För att ändra cachestorleken för sekvensen, använd ' CACHE ' klausul med ' ÄNDRA SEKVENS ” kommando. Ett exempel ges nedan:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

I exemplet ovan är cachestorleken för sekvensen inställd på femtio . Det betyder att sekvensnumret 50 kommer att förtilldelas åt gången för snabbare åtkomst.

Produktion

Utdatan visar att cachestorleken har ändrats.

Ställ in storlek och ordning för cachesekvensen

För att ställa in sekvenscachens storlek och generera sekvensnumren i ordning, använd ' BESTÄLLA ' och ' CACHE '-satser med ' ÄNDRA SEKVENS ” kommando. Här är ett exempel:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

I det här exemplet kommer det nya värdet för cachestorleken att vara 100 .

Produktion

Utgången visade att ändringarna har gjorts i sekvensen.

Ställ in Sekvens för att generera fallande värden

Intervallet mellan sekvensnummer bestäms av inkrementtalet. Inkrementvärdet är satt till 1 som standard, vilket innebär att nästa nummer i serien returneras varje gång sekvensen anropas. När inkrementet är satt till -1 genererar sekvensen heltal i fallande ordning.

För att ställa in sekvensen för att generera fallande värden, använd ' ÖKA MED ' med ' ÄNDRA SEKVENS ” kommandot och ställ in värdet på -1. Exemplet ges nedan:

ALTER SEQUENCE LINUXHINT_SEQ ÖKAR MED -1;

I det här exemplet är värdet -1 , vilket innebär att varje gång sekvensen anropas returneras föregående nummer i sekvensen.

Produktion

Utgången visar att sekvensen har ställts in för att generera fallande värden.

Ändra inkrementvärdet för sekvensen

För att ändra inkrementvärdet för sekvensen, använd ' ÖKA MED ' med ' ÄNDRA SEKVENS ” kommandot och ställ in värdet därefter. Exemplet finns nedan:

ALTER SEQUENCE LINUXHINT_SEQ ÖKA MED 2;

I det här exemplet är värdet 2 , vilket innebär att varje gång sekvensen anropas kommer nästa nummer i sekvensen att ökas med 2.

Produktion

Utgången visade att sekvensen har ändrats i enlighet med detta.

Ändra sekvensen för att aktivera cykelalternativ

När cykelalternativet är aktiverat för en sekvens kommer sekvensen att lindas runt och börja om från början (MINVÄRDE) när den når maxvärdet (MAXVÄRDE). För att aktivera det här alternativet, använd ' CYKEL ' klausul med ' ÄNDRA SEKVENS ” kommando. Exemplet ges nedan:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Produktion

Utgången som visas cykelalternativet har aktiverats.

Ändra sekvensen för att avaktivera cykel

När cykelalternativet är inaktiverat för en sekvens kommer sekvensen att sluta generera värden när den når sitt maximala värde (MAXVÄRDE) eller minimivärde (MINVÄRDE), beroende på genereringsordningen. För att inaktivera detta alternativ, använd 'NOCYCLE'-satsen med kommandot 'ALTER SEQUENCE'. Exemplet finns nedan:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Produktion

Utdatan visade att cykelalternativet har inaktiverats.

Ändra sekvensen för att ändra flera alternativ

Skriv det givna kommandot för att ställa in sekvensen att ha ett negativt steg med -1, ett maximalt värde på 10 och ett cykelalternativ aktiverat:

ALTER SEQUENCE LINUXHINT_SEQ ÖKAR MED -1 MAXVÄRDE 10 CYKEL;

Produktion

Resultatet visade att ändringarna hade gjorts i sekvensen framgångsrikt.

Slutsats

I Oracle, ' ÄNDRA SEKVENS ”-kommandot låter dig ändra attributen för en sekvens genom att återställa sekvensvärdet, ändra minimi- och maxvärden, inkrementvärde, cachningsstorlek, beställning och aktivera eller inaktivera cykelalternativet. Dessa ändringar är användbara under många olika omständigheter, till exempel när du behöver ändra startvärdet för en sekvens eller justera cachingstorleken för bättre prestanda. Det här inlägget har förklarat olika användningsfall av kommandot ALTER SEQUENCE med hjälp av praktiska exempel.