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.

Sammanfatta detta inlรคgg med: