CREATE SEQUENCE

Semantics

schema

Specificați schema care va conține secvența. Dacă omiteți schema, atunci Oracle Database creează secvența în propria schemă.

sequence

Specificați numele secvenței care urmează să fie creată.

Dacă nu specificați niciuna dintre clauzele următoare, atunci creați o secvență ascendentă care începe cu 1 și crește cu 1 fără limită superioară. Dacă se specifică doar INCREMENT BY -1 se creează o secvență descrescătoare care începe cu -1 și descrește fără limită inferioară.

  • Pentru a crea o secvență care crește fără limită, pentru secvențe ascendente, omiteți parametrul MAXVALUE sau specificați NOMAXVALUE. Pentru secvențe descrescătoare, omiteți parametrul MINVALUE sau specificați NOMINVALUE.

  • Pentru a crea o secvență care se oprește la o limită predefinită, pentru o secvență ascendentă, specificați o valoare pentru parametrul MAXVALUE. Pentru o secvență descendentă, specificați o valoare pentru parametrul MINVALUE. De asemenea, specificați NOCYCLE. Orice încercare de a genera un număr de secvență după ce secvența a ajuns la limită produce o eroare.

  • Pentru a crea o secvență care repornește după atingerea unei limite predefinite, specificați valori pentru ambii parametri MAXVALUE și MINVALUE. De asemenea, specificați CYCLE. Dacă nu specificați MINVALUE, atunci valoarea implicită este NOMINVALUE, care este valoarea 1.

INCREMENT BY Specificați intervalul dintre numerele secvenței. Această valoare întreagă poate fi orice număr întreg pozitiv sau negativ, dar nu poate fi 0. Această valoare poate avea 28 sau mai puține cifre. Valoarea absolută a acestei valori trebuie să fie mai mică decât diferența dintre MAXVALUE și MINVALUE. Dacă această valoare este negativă, atunci secvența este descrescătoare. Dacă valoarea este pozitivă, atunci secvența este ascendentă. Dacă omiteți această clauză, atunci intervalul este implicit la 1.

START WITH Specificați primul număr de secvență care urmează să fie generat. Utilizați această clauză pentru a începe o secvență ascendentă la o valoare mai mare decât minimul său sau pentru a începe o secvență descendentă la o valoare mai mică decât maximul său. Pentru secvențele ascendente, valoarea implicită este valoarea minimă a secvenței. În cazul secvențelor descrescătoare, valoarea implicită este valoarea maximă a secvenței. Această valoare întreagă poate avea 28 sau mai puține cifre.

Nota:

Această valoare nu este neapărat valoarea la care o secvență ciclică ascendentă se ciclează după ce a atins valoarea sa maximă sau minimă.

VALOAREMAX Specificați valoarea maximă pe care o poate genera secvența. Această valoare întreagă poate avea 28 sau mai puține cifre. MAXVALUE trebuie să fie egală sau mai mare decât START WITH și trebuie să fie mai mare decât MINVALUE.

NOMAXVALUE Specificați NOMAXVALUE pentru a indica o valoare maximă de 1027 pentru o secvență ascendentă sau -1 pentru o secvență descendentă. Aceasta este valoarea implicită.

MINVALUE Specificați valoarea minimă a secvenței. Această valoare întreagă poate avea 28 sau mai puține cifre. MINVALUE trebuie să fie mai mică sau egală cu START WITH și trebuie să fie mai mică decât MAXVALUE.

NOMINVALUE Specificați NOMINVALUE pentru a indica o valoare minimă de 1 pentru o secvență ascendentă sau -1026 pentru o secvență descendentă. Aceasta este valoarea implicită.

CYCLE Specificați CYCLE pentru a indica faptul că secvența continuă să genereze valori după ce a atins fie valoarea maximă, fie valoarea minimă. După ce o secvență ascendentă atinge valoarea sa maximă, aceasta generează valoarea sa minimă. După ce o secvență descendentă atinge valoarea sa minimă, aceasta generează valoarea sa maximă.

NOCYCLE Specificați NOCYCLE pentru a indica faptul că secvența nu poate genera mai multe valori după ce a atins valoarea sa maximă sau minimă. Aceasta este valoarea implicită.

CACHE Specificați câte valori ale secvenței prealocă baza de date și le păstrează în memorie pentru un acces mai rapid. Această valoare întreagă poate avea 28 sau mai puține cifre. Valoarea minimă pentru acest parametru este 2. Pentru secvențele care se succed, această valoare trebuie să fie mai mică decât numărul de valori din ciclu. Nu puteți pune în memoria cache mai multe valori decât încap într-un anumit ciclu de numere de secvență. Prin urmare, valoarea maximă permisă pentru CACHE trebuie să fie mai mică decât valoarea determinată de următoarea formulă:

(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)

Dacă are loc o defecțiune a sistemului, atunci toate valorile secvențelor memorate în memoria cache care nu au fost utilizate în instrucțiuni DML angajate sunt pierdute. Numărul potențial de valori pierdute este egal cu valoarea parametrului CACHE.

Nota:

Oracle recomandă utilizarea parametrului CACHE pentru a îmbunătăți performanța dacă utilizați secvențe într-un mediu Oracle Real Application Clusters.

NOCACHE Specificați NOCACHE pentru a indica faptul că valorile secvenței nu sunt prealocate. Dacă omiteți atât CACHE cât și NOCACHE, atunci baza de date memorează implicit 20 de numere de secvență.

ORDER Specificați ORDER pentru a garanta că numerele de secvență sunt generate în ordinea solicitării. Această clauză este utilă dacă utilizați numerele de secvență ca marcaje temporale. Garantarea ordinii nu este de obicei importantă pentru secvențele utilizate pentru a genera chei primare.

ORDER este necesară numai pentru a garanta generarea ordonată dacă utilizați Oracle Real Application Clusters. Dacă utilizați modul exclusiv, atunci numerele de secvență sunt întotdeauna generate în ordine.

NOORDER Specificați NOORDER dacă nu doriți să garantați că numerele de secvență sunt generate în ordinea solicitării. Aceasta este valoarea implicită.

Lasă un răspuns

Adresa ta de email nu va fi publicată.