Acest ghid va acoperi următoarele exemple:
- Resetați valoarea secvenței
- Modificați valorile minime ale secvenței
- Modificați valorile maxime ale secvenței
- Modificați dimensiunea de cache a secvenței
- Setați dimensiunea și ordinea secvenței cache
- Setați secvența pentru a genera valori descrescătoare
- Modificați valoarea de creștere a secvenței
- Modificați secvența pentru a activa opțiunea de ciclu
- Modificați secvența pentru a dezactiva opțiunea de ciclu
- Modificați secvența pentru a modifica mai multe opțiuni
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.