SAP HANA Handledning: Skapa sekvens
Vad รคr sekvens?
En sekvens รคr ett databasobjekt som automatiskt genererar den inkrementerade listan med numeriska vรคrden enligt regeln som specificeras i sekvensspecifikationen.
Till exempel fรถr att infoga anstรคlldsnummer automatiskt i kolumn (EMPLOYEE_NO) i Tabell, nรคr en ny post infogas i tabellen, dรฅ anvรคnder vi sekvens.
Sekvensvรคrden genereras i stigande eller fallande ordning.
Sekvenser รคr inte associerade med tabeller; de anvรคnds av applikationen. Det finns tvรฅ vรคrden i fรถljd โ
- CURRVAL โ Ange aktuellt vรคrde fรถr sekvens.
- NEXTVAL โ Ange nรคsta vรคrde fรถr sekvensen.
SYNTAX
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
SYNTAXELEMENT
| ELEMENT | BESKRIVNING |
|---|---|
| Det รคr namnet pรฅ sekvensen. | |
| [ ] | Den specificerar en eller flera sekvensparametrar. |
| BรRJA MED | Den beskriver startsekvensvรคrdet. |
| รKA MED | Detta anger vรคrdet som ska รถkas frรฅn det senaste vรคrdet som tilldelats fรถr varje gรฅng ett nytt sekvensvรคrde genereras. Standard รคr 1. |
| MAXVALUE | Detta anger maximalt vรคrde som kan genereras av sekvensen. kan vara mellan -4611686018427387903 och 4611686018427387902. |
| INTE MAXVรRDE | Nรคr NO MAXVALUE anges, fรถr en stigande sekvens, kommer maxvรคrdet att vara 4611686018427387903 och minimivรคrdet fรถr en fallande sekvens รคr -1. |
| MINVรRDE / INGET MINVรRDE | Den anger det lรคgsta vรคrde som en sekvens kan generera. kan vara mellan -4611686018427387904 och 4611686018427387902. Nรคr NO MINVALUE anvรคnds รคr minimivรคrdet fรถr en stigande sekvens 1 |
| CYKEL | CYCLE-direktivet anger att sekvensnumret kommer att startas om efter att det nรฅr sitt hรถgsta eller lรคgsta vรคrde. |
| INGEN CYKEL | Standardalternativ.NO CYCLE-direktivet anger att sekvensnumret inte kommer att startas om efter att det nรฅr sitt hรถgsta eller lรคgsta vรคrde. |
| CACHE / | Cachestorleken anger vilket intervall av sekvensnummer som kommer att cachelagras i en nod. mรฅste vara heltal utan tecken. |
| INGEN CACHE | Standardalternativ. NO CACHE-direktivet anger att sekvensnumret inte kommer att cachelagras i en nod. |
| ร TERSTรLL AV | Den anger att under omstarten av databasen kรถr databasen automatiskt och sekvensvรคrdet startas om med det returnerade vรคrdet. |
Exempel -
Vi kommer att skapa en sekvens med namnet DHK_SCHEMA.EMP_NO, som kommer att skapa ett รถkat vรคrde fรถr sekvensen med +1 varje gรฅng, nรคr sekvensen anvรคnds.
Sekvensskript โ
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Hรคr kommer vi att anvรคnda objektet "sekvens" i exemplet nedan fรถr att รถka vรคrdet pรฅ anstรคlld nr med +1 varje gรฅng valfrรฅgan kรถrs. I frรฅgan kan "nextval" anvรคndas fรถr serienummergenerering eller samma typ av krav.
Anvรคndning av sekvens โ
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT โ 100,101,102โฆโฆโฆSรฅ vid varje exekvering av ovanstรฅende valfrรฅga.
