Oracle Create Sequence Command

Oracle Create Sequence Command
Databasesekvenser er nyttige databaseobjekter som lar databasen automatisk generere en sekvens av verdier basert på en gitt startverdi, trinnstrinnet og maksimal verdi.

Du vil ofte komme over databasesekvenser som brukes som primærnøkler for en databasekolonne. Selv om du kan bruke den innebygde primære nøkkelgeneratoren, gir sekvenser forskjellige egenskaper som gjør at du kan tilpasse hvordan verdiene legges til databasen.

Denne opplæringen vil lære deg hvordan du bruker CREATE SEXENCE -kommandoen i Oracle -databasen for å definere en ny sekvens.

Oracle Create Sequence Statement

Vi bruker Create Sequence -setningen i Oracle for å lage en ny Oracle -sekvens. Vi kan uttrykke syntaks for denne uttalelsen som vist nedenfor:

Lag sekvens sekvensnavn
[Økning av n]
[Start med n]
[MaxValue N | Nomaxvalue]
[MinValue N | Nominvalue]
[Syklus | Nocycle]
[Cache n | Nocache]
[Bestill | Noorder]

Uttalelsen godtar følgende alternativer:

  1. Sekvensnavn - Dette spesifiserer navnet på sekvensen du ønsker å opprette.
  2. Økning med n - Økningen etter N -leddet lar deg spesifisere verdien som sekvensen øker. Som standard vil sekvensen øke fra forrige verdi med en faktor 1.
  3. Start med N - Dette alternativet lar deg spesifisere verdien som sekvensen vil starte. Tilsvarende er standardverdien satt til 1.
  4. MaxValue N - MaxValue -parameteren lar deg angi maksimal verdi sekvensen kan generere. Standardverdien er satt til 10^27-1.
  5. MinValue N - I dette tilfellet definerer denne parameteren minimumsverdien generert av sekvensen. Standardverdien er satt til -10^27+1.
  6. Syklus - Syklusparameteren definerer om sekvensen skal sykle de genererte verdiene på maksimum. Hvis settet, vil sekvensen starte på nytt fra minimumsverdien når den når den definerte maksimale verdien. For å forhindre sekvenssyklus, bruk Nocycle -alternativet. Som standard vil ikke sekvensen sykle verdiene.
  7. Cache N - Denne leddet spesifiserer antall sekvensnumre som er preallokert og lagret i minnet eller hurtigbufret for raskere tilgang. Som standard blir ingen verdier hurtigbufr.
  8. BESTILLING - BESTILLINGSPARAMETEREN Angir om sekvensen av tall er generert i forespørselsrekkefølge. Hvis denne klausulen ikke er spesifisert, er standardoppførselen Noorder.

Oracle Lag sekvenseksempel

I det følgende eksemplet lager vi en sekvens kalt looper_sequence som starter fra verdien av 2 og når 100 med et intervall på 2. Sekvensen vil også sykle verdiene når den når maksimal verdi.

Lag sekvens looper_sequence
Økning med 2
Start med 2
MinValue 2
MaxValue 100
syklus
nocache;

Når vi har definert sekvensen, kan vi hente verdiene fra sekvensen ved å bruke NXTVAL () -funksjonen.

Velg Looper_Sequence.NextVal fra dual;

Siden dette er første gang å kjøre sekvensen, bør den returnere den første verdien som vist nedenfor:

Hvis vi kjører på nytt sekvensen i samme økt, bør vi få neste verdi som vist nedenfor:

Dette bør fortsette for hver iterasjon til vi treffer maksimalverdien, og tvinger sekvensen til å starte på nytt.

Oracle Få gjeldende verdi

For å få gjeldende verdi i sekvensen, kan du bruke CurrVal () -funksjonen som vist nedenfor:

Velg Looper_Sequence.currval fra dual;

Resultat:

Konklusjon

I denne opplæringen lærte du hvordan du bruker Create Sequence -kommandoen i Oracle for å opprette et nytt sekvensobjekt i en database. Du lærte også hvordan du bruker NXTVAL () og CurrVal () -funksjonene for å få sekvensens neste og nåværende verdier, henholdsvis.