SAP HANA-handledning: Skapa sekvens

Anonim

Vad är sekvens?

En sekvens är ett databasobjekt som automatiskt genererar den inkrementerade listan över numeriska värden enligt regel som anges i sekvensspecifikationen.

Till exempel för att automatiskt infoga anställd i kolumnen (EMPLOYEE_NO) i tabellen, när en ny post infogas i tabellen 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  [] [RESET BY ]

SYNTAX ELEMENT

ELEMENTER BESKRIVNING
Det är namnet på sekvensen.
[] Den anger en eller flera sekvensparametrar.
Börja med Den beskriver startsekvensvärdet.
ÖKNING MED Detta anger värdet som ska ökas från det senast tilldelade värdet för varje gång ett nytt sekvensvärde genereras. Standard är 1.
MAXVÄRDE Detta anger maximalt värde som kan genereras av sekvensen. kan vara mellan -4611686018427387903 och 4611686018427387902.
INGEN MAXVÄRDE När NO MAXVALUE är specificerat, för en stigande sekvens, blir det maximala värdet 4611686018427387903 och minimivärdet för en fallande sekvens är -1.
MINVALUE / NO MINVALUE Den anger det minsta 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 startas om när det når sitt maximala eller minsta värde.
INGEN Cykel Standardalternativ. INGET CYCLE-direktiv anger att sekvensnummer inte startas om efter att det når sitt maximala eller minsta värde.
CACHE / Cachestorleken anger vilket intervall av sekvensnummer som ska cachas i en nod. måste vara osignerat heltal.
INGEN CACHE Standardalternativ. NO CACHE-direktivet anger att sekvensnumret inte kommer att cachas i en nod.
ÅTERSTÄLL AV Det specificerar att under omstart av databasen kör databasen automatiskt och sekvensvärdet startas om med det returnerade värdet.

Exempel -

Vi skapar en sekvens med namnet DHK_SCHEMA.EMP_NO, som skapar stegvis 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 objektets "sekvens" i exemplet nedan för att öka värdet på anställd nr med +1 varje gång den valda frågan körs. I frågan kan "nextval" användas för generering av serienummer eller samma typ av krav.

Användning av sekvens -

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

UTGÅNG - 100.101.102

... Så vid varje körning av ovanstående fråga.