Hvad er sekvens?
En sekvens er et databaseobjekt, der automatisk genererer den forøgede liste over numeriske værdier i henhold til reglen som specificeret i sekvensspecifikationen.
For eksempel at indsætte medarbejdernummer automatisk i kolonne (EMPLOYEE_NO) i tabel, når en ny post indsættes i tabellen, så bruger vi sekvens.
Sekvensværdier genereres i stigende eller faldende rækkefølge.
Sekvenser er ikke knyttet til tabeller; de bruges af applikationen. Der er to værdier i rækkefølge -
- CURRVAL - Angiv den aktuelle værdi af sekvensen.
- NEXTVAL - Angiv den næste værdi af sekvensen.
SYNTAX
OPRET SEKVENS[ ] [NULSTIL MED ]
SYNTAX ELEMENTER
ELEMENTER | BESKRIVELSE |
---|---|
Det er navnet på sekvensen. | |
[ | Det specificerer en eller flere sekvensparametre. |
START MED | Den beskriver startsekvensværdien. |
FORHØJNING MED | Dette specificerer den værdi, der skal forøges fra den sidste værdi, der er tildelt for hver gang der genereres en ny sekvensværdi. Standard er 1. |
MAXVALUE | Dette angiver den maksimale værdi, som kan genereres af sekvensen. |
INGEN MAKSVÆRDI | Når NO MAXVALUE er specificeret, for en stigende sekvens, vil den maksimale værdi være 4611686018427387903, og minimumsværdien for en faldende sekvens vil være -1. |
MINVALUE | Det specificerer den mindste værdi, som en sekvens kan generere. |
CYKLUS | CYCLE-direktivet specificerer, at sekvensnummeret genstartes, når det når sin maksimale eller minimale værdi. |
INGEN CYKLUS | Standardindstilling. INGEN CYCLE-direktiv specificerer, at sekvensnummer ikke genstartes, når det når sin maksimale eller minimale værdi. |
CACHE | Cachestørrelsen angiver, hvilket interval af sekvensnumre der skal caches i en node. |
INGEN CACHE | Standardindstilling. NO CACHE-direktivet specificerer, at sekvensnummeret ikke caches i en node. |
NULSTIL VED | Det specificerer, at databasen under genstart af databasen automatisk udfører |
Eksempel -
Vi opretter en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil skabe stigende værdi af sekvensen med +1 hver gang, når sekvensen bruges.
Sekvensskript -
OPRET SEKVENS DHK_SCHEMA.EMP_NO START MED 100 FORHØJNING MED 1.
Her vil vi bruge objektet "sekvens" i nedenstående eksempel til at øge værdien af medarbejder nr med +1 hver gang den valgte forespørgsel udføres. I forespørgslen kan "nextval" bruges til generering af serienummer eller samme type krav.
Brug af sekvens -
VÆLG DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
UDGANG - 100.101.102
... Så på hver udførelse af ovenstående vælg forespørgsel.