SAP HANA Tutorial: Opret sekvens
Hvad er sekvens?
En sekvens er et databaseobjekt, der automatisk genererer den inkrementerede liste over numeriske vรฆrdier i henhold til regel som specificeret i sekvensspecifikation.
For eksempel for 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 -
- KURRVAL โ Angiv den aktuelle vรฆrdi af sekvensen.
- NEXTVAL โ Angiv nรฆste vรฆrdi af sekvensen.
SYNTAKS
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
SYNTAKSEELEMENTER
| ELEMENTER | BESKRIVELSE |
|---|---|
| Det er navnet pรฅ sekvensen. | |
| [ ] | Den specificerer en eller flere sekvensparametre. |
| START MED | Den beskriver startsekvensvรฆrdien. |
| FORรG MED | Dette angiver den vรฆrdi, der skal รธges fra den sidste vรฆrdi, der er tildelt for hver gang, nรฅr en ny sekvensvรฆrdi genereres. Standard er 1. |
| MAXVALUE | Dette angiver den maksimale vรฆrdi, som kan genereres af sekvensen. kan vรฆre mellem -4611686018427387903 og 4611686018427387902. |
| INGEN MAKSVรRDI | Nรฅr NO MAXVALUE er angivet, for en stigende sekvens, vil den maksimale vรฆrdi vรฆre 4611686018427387903, og minimumsvรฆrdien for en faldende sekvens vil vรฆre -1. |
| MINVรRDI / INGEN MINVรRDI | Den specificerer den minimumsvรฆrdi, som en sekvens kan generere. kan vรฆre mellem -4611686018427387904 og 4611686018427387902. Nรฅr INGEN MINVรRDI bruges, er minimumsvรฆrdien for en stigende sekvens 1 |
| CYKLUS | CYCLE-direktivet specificerer, at sekvensnummeret genstartes, nรฅr det nรฅr sin maksimum- eller minimumvรฆrdi. |
| INGEN CYKUS | Standard option.NO CYCLE-direktivet specificerer, at sekvensnummeret ikke genstartes, nรฅr det nรฅr sin maksimum- eller minimumvรฆrdi. |
| CACHE / | Cachestรธrrelsen specificerer, hvilket omrรฅde af sekvensnumre, der skal cachelagres i en node. skal vรฆre heltal uden fortegn. |
| INGEN CACHE | Standardindstilling. NO CACHE-direktivet angiver, at sekvensnummeret ikke vil blive cachelagret i en node. |
| NULSTIL AF | Det specificerer, at under genstart af databasen, udfรธrer databasen automatisk og sekvensvรฆrdien genstartes med den returnerede vรฆrdi. |
Eksempel -
Vi vil oprette en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil skabe รธget vรฆrdi af sekvensen med +1 hver gang, nรฅr sekvensen bruges.
Sekvens script โ
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Her vil vi bruge objektet "sekvens" i eksemplet nedenfor til at รธge vรฆrdien af โโmedarbejdernr med +1 hver gang valgforespรธrgslen udfรธres. I forespรธrgslen kan "nextval" bruges til serienummergenerering eller samme type krav.
Brug af sekvens โ
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT โ 100,101,102โฆโฆโฆSรฅ ved hver udfรธrelse af ovenstรฅende vรฆlg forespรธrgsel.
