SAP HANA opplæring: Lag sekvens

Anonim

Hva er sekvens?

En sekvens er et databaseobjekt som automatisk genererer den økte listen over numeriske verdier i henhold til regelen som spesifisert i sekvensspesifikasjonen.

For eksempel for å sette inn ansattnummer automatisk i kolonne (EMPLOYEE_NO) i tabellen, når en ny post blir satt inn i tabellen, så bruker vi sekvens.

Sekvensverdier genereres i stigende eller fallende rekkefølge.

Sekvenser er ikke knyttet til tabeller; de brukes av applikasjonen. Det er to verdier i rekkefølge -

  • CURRVAL - Oppgi nåværende verdi av sekvens.
  • NEXTVAL - Gi neste verdi av sekvensen.

SYNTAX

OPPRETT SEKVENS  [] [RESET BY ]

SYNTAX ELEMENTER

ELEMENTER BESKRIVELSE
Det er navnet på sekvensen.
[] Den spesifiserer en eller flere sekvensparametere.
START MED Den beskriver startsekvensverdien.
ØKNING AV Dette spesifiserer verdien som skal økes fra den siste verdien som ble tildelt for hver gang ny sekvensverdi ble generert. Standard er 1.
MAXVALUE Dette spesifiserer maksimal verdi, som kan genereres av sekvensen. kan være mellom -4611686018427387903 og 4611686018427387902.
INGEN MAXVALUE Når NO MAXVALUE er spesifisert, for en stigende sekvens, vil maksimumsverdien være 4611686018427387903 og minimumsverdien for en synkende sekvens vil være -1.
MINVALUE / NO MINVALUE Den spesifiserer minimumsverdien som en sekvens kan generere. kan være mellom -4611686018427387904 og 4611686018427387902. Når NO MINVALUE brukes, er minimumsverdien for en stigende sekvens 1
SYKLUS CYCLE-direktivet spesifiserer at sekvensnummeret vil startes på nytt etter at det når maksimums- eller minimumsverdien.
INGEN Syklus Standardalternativ. INGEN CYCLE-direktiv angir at sekvensnummer ikke vil startes på nytt etter at det når maksimums- eller minimumsverdien.
CACHE / Bufferstørrelsen angir hvilket område med sekvensnumre som skal caches i en node. må være usignert heltall.
INGEN CACHE Standardalternativ. INGEN CACHE-direktiv spesifiserer at sekvensnummeret ikke blir bufret i en node.
TILBAKESTILL AV Den spesifiserer at databasen kjører automatisk under start av databasen, og sekvensverdien startes på nytt med den returnerte verdien.

Eksempel -

Vi vil lage en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil opprette økte verdi av sekvensen med +1 hver gang, når sekvensen brukes.

Sekvensskript -

OPPRETT SEKVENS DHK_SCHEMA.EMP_NO START MED 100 ØKNINGER MED 1. 

Her vil vi bruke objektet "sekvens" i eksemplet nedenfor for å øke verdien av ansatt nr med +1 hver gang spørringen blir utført. I spørringen kan "nextval" brukes til generering av serienummer eller samme type krav.

Bruk av sekvens -

VELG DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

UTGANG - 100.101.102

... Så på hver utførelse av det valgte spørsmålet.