Hva er sekvens?
En sekvens er et databaseobjekt som automatisk genererer den økte listen over numeriske verdier i henhold til regelen som spesifisert i sekvensspesifikasjonen.
For eksempel for å sette inn ansattnummer automatisk i kolonne (EMPLOYEE_NO) i tabellen, når en ny post blir satt inn i tabellen, så bruker vi sekvens.
Sekvensverdier genereres i stigende eller fallende rekkefølge.
Sekvenser er ikke knyttet til tabeller; de brukes av applikasjonen. Det er to verdier i rekkefølge -
- CURRVAL - Oppgi nåværende verdi av sekvens.
- NEXTVAL - Gi neste verdi av sekvensen.
SYNTAX
OPPRETT SEKVENS[ ] [RESET BY ]
SYNTAX ELEMENTER
ELEMENTER | BESKRIVELSE |
---|---|
Det er navnet på sekvensen. | |
[ | Den spesifiserer en eller flere sekvensparametere. |
START MED | Den beskriver startsekvensverdien. |
ØKNING AV | Dette spesifiserer verdien som skal økes fra den siste verdien som ble tildelt for hver gang ny sekvensverdi ble generert. Standard er 1. |
MAXVALUE | Dette spesifiserer maksimal verdi, som kan genereres av sekvensen. |
INGEN MAXVALUE | Når NO MAXVALUE er spesifisert, for en stigende sekvens, vil maksimumsverdien være 4611686018427387903 og minimumsverdien for en synkende sekvens vil være -1. |
MINVALUE | Den spesifiserer minimumsverdien som en sekvens kan generere. |
SYKLUS | CYCLE-direktivet spesifiserer at sekvensnummeret vil startes på nytt etter at det når maksimums- eller minimumsverdien. |
INGEN Syklus | Standardalternativ. INGEN CYCLE-direktiv angir at sekvensnummer ikke vil startes på nytt etter at det når maksimums- eller minimumsverdien. |
CACHE | Bufferstørrelsen angir hvilket område med sekvensnumre som skal caches i en node. |
INGEN CACHE | Standardalternativ. INGEN CACHE-direktiv spesifiserer at sekvensnummeret ikke blir bufret i en node. |
TILBAKESTILL AV | Den spesifiserer at databasen kjører |
Eksempel -
Vi vil lage en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil opprette økte verdi av sekvensen med +1 hver gang, når sekvensen brukes.
Sekvensskript -
OPPRETT SEKVENS DHK_SCHEMA.EMP_NO START MED 100 ØKNINGER MED 1.
Her vil vi bruke objektet "sekvens" i eksemplet nedenfor for å øke verdien av ansatt nr med +1 hver gang spørringen blir utført. I spørringen kan "nextval" brukes til generering av serienummer eller samme type krav.
Bruk av sekvens -
VELG DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
UTGANG - 100.101.102
... Så på hver utførelse av det valgte spørsmålet.