Oracle ALTER SEQUENCE Prin exemple practice

Oracle Alter Sequence Prin Exemple Practice



În Oracle, o secvență este un obiect de bază de date care generează o serie unică de numere întregi care pot fi folosite ca cheie primară sau în orice alt scop în care este necesar un număr unic. ALTER SEQUENCE este un instrument puternic din Oracle care vă permite să modificați atributele unei secvențe din baza de date. Comanda ALTER SEQUENCE poate părea descurajantă la început, dar exemplele practice vă pot ajuta să înțelegeți și să utilizați întregul său potențial.

Acest ghid va acoperi următoarele exemple:

Resetați valoarea secvenței

Pentru a reseta valoarea secvenței sau pentru a reporni valoarea secvenței de la valoarea sa de pornire, „ ALTER SECVENȚA comanda „ cu „ REPORNIRE ” poate fi folosită clauza. Exemplul este dat mai jos:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

În comanda de mai sus, „ LINUXHINT_SEQ ” reprezintă numele secvenței.



Ieșire



Ieșirea arată că secvența a fost resetată.





Modificați valorile minime ale secvenței

Când o secvență este creată în Oracle, implicit valoarea ei minimă este setată la 1. „ ALTER SECVENȚA comanda „ cu „ MINVALUE ” clauza poate fi utilizată pentru a modifica valoarea minimă a secvenței. Exemplul este dat mai jos:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

În acest exemplu, noua valoare minimă este -1 .



Ieșire

Ieșirea a arătat că valoarea minimă a fost modificată.

Modificați valorile maxime ale secvenței

În mod implicit, valoarea maximă a unei secvențe Oracle este „10^27 – 1”, care este cea mai mare valoare posibilă pentru un număr zecimal de 38 de cifre. Pentru a modifica valoarea maximă a secvenței, „ ALTER SECVENȚA comanda „ cu „ MAXVALUE ” poate fi folosită clauza. Exemplul este oferit mai jos:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

În exemplul de mai sus, noua valoare maximă va fi 1000 .

Ieșire

În captură de ecran, se poate observa că valoarea maximă a fost modificată.

Notă : În exemplul de mai sus, secvența nu va mai genera valori după ce ajunge la 1000 și orice încercare de a genera o valoare dincolo de acel punct va duce la o eroare.

Modificați dimensiunea de cache a secvenței

Dimensiunea cache-ului decide numărul de numere de secvență care sunt prealocate și stocate în memorie pentru un acces mai rapid. Pentru a modifica dimensiunea cache a secvenței, utilizați „ CACHE ' clauza cu ' ALTER SECVENȚA ” comanda. Un exemplu este dat mai jos:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

În exemplul de mai sus, dimensiunea cache a secvenței este setată la cincizeci . Înseamnă că numărul de secvență 50 va fi pre-alocat la un moment dat pentru un acces mai rapid.

Ieșire

Ieșirea arată că dimensiunea memoriei cache a fost modificată.

Setați dimensiunea și ordinea secvenței cache

Pentru a seta dimensiunea cache a secvenței și a genera numerele de secvență în ordine, utilizați „ ORDIN ' și ' CACHE ” clauze cu „ ALTER SECVENȚA ” comanda. Iată un exemplu:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

În acest exemplu, noua valoare a dimensiunii cache-ului va fi 100 .

Ieșire

Ieșirea a afișat că modificările au fost aduse secvenței.

Setați secvența pentru a genera valori descrescătoare

Intervalul dintre numerele de secvență este determinat de numărul de increment. Valoarea de increment este setată implicit la 1, ceea ce înseamnă că următorul număr din serie este returnat de fiecare dată când este apelată secvența. Când incrementul este setat la -1, secvența generează numere întregi în ordine descrescătoare.

Pentru a seta secvența pentru a genera valori descrescătoare, utilizați „ INCREMENTARE CU ' cu ' ALTER SECVENȚA ” și setați valoarea la -1. Exemplul este dat mai jos:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT CU -1;

În acest exemplu, valoarea este -1 , ceea ce înseamnă că de fiecare dată când este apelată secvența, este returnat numărul anterior din secvență.

Ieșire

Ieșirea arată că secvența a fost setată pentru a genera valori descrescătoare.

Modificați valoarea de creștere a secvenței

Pentru a modifica valoarea de increment a secvenței, utilizați „ INCREMENTARE CU ' cu ' ALTER SECVENȚA ” comanda și setați valoarea în consecință. Exemplul este oferit mai jos:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT CU 2;

În acest exemplu, valoarea este 2 , ceea ce înseamnă că de fiecare dată când este apelată secvența, următorul număr din secvență va fi incrementat cu 2.

Ieșire

Ieșirea a afișat că secvența a fost modificată în consecință.

Modificați secvența pentru a activa opțiunea de ciclu

Când opțiunea de ciclu este activată pentru o secvență, secvența se va încheia și va începe din nou de la început (MINVALUE) odată ce atinge valoarea maximă (MAXVALUE). Pentru a activa această opțiune, utilizați „ CICLU ' clauza cu ' ALTER SECVENȚA ” comanda. Exemplul este dat mai jos:

ALTER SECVENCE LINUXHINT_SEQ CYCLE;

Ieșire

Ieșirea afișată opțiunea de ciclu a fost activată.

Modificați secvența pentru a dezactiva ciclul

Când opțiunea de ciclu este dezactivată pentru o secvență, secvența nu va mai genera valori odată ce atinge valoarea maximă (MAXVALUE) sau valoarea minimă (MINVALUE), în funcție de ordinea generării. Pentru a dezactiva această opțiune, utilizați clauza „NOCYCLE” cu comanda „ALTER SEQUENCE”. Exemplul este oferit mai jos:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Ieșire

Rezultatul a arătat că opțiunea de ciclu a fost dezactivată.

Modificați secvența pentru a modifica mai multe opțiuni

Tastați comanda dată pentru a seta secvența să aibă un increment negativ cu -1, o valoare maximă de 10 și o opțiune de ciclu activată:

ALTER SECCENCE LINUXHINT_SEQ INCREMENTARE CU -1 MAXVALUE 10 CYCLE;

Ieșire

Rezultatul a arătat că modificările au fost făcute cu succes asupra secvenței.

Concluzie

În Oracle, „ ALTER SECVENȚA Comanda ” vă permite să modificați atributele unei secvențe prin resetarea valorii secvenței, modificarea valorilor minime și maxime, a valorii de creștere, a dimensiunii de stocare în cache, a ordonării și activând sau dezactivând opțiunea de ciclu. Aceste modificări sunt utile în multe tipuri de circumstanțe, cum ar fi atunci când trebuie să modificați valoarea de pornire a unei secvențe sau să ajustați dimensiunea de cache pentru o performanță mai bună. Acest post a explicat diverse cazuri de utilizare ale comenzii ALTER SEQUENCE folosind exemple practice.