SAP HANA-veiledning: Lag sekvens

Hva er sekvens?

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

For eksempel for รฅ sette inn ansattnummer automatisk i kolonne (EMPLOYEE_NO) i Tabell, nรฅr en ny post settes inn i tabellen, bruker vi sekvens.

Sekvensverdier genereres i stigende eller synkende rekkefรธlge.

Sekvenser er ikke knyttet til tabeller; de brukes av applikasjonen. Det er to verdier i rekkefรธlge โ€“

  • CURRVAL โ€“ Angi gjeldende verdi for sekvens.
  • NEXTVAL โ€“ Angi neste verdi av sekvensen.

SYNTAKS

CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]

SYNTAKSEELEMENTER

ELEMENTS BESKRIVELSE
Det er navnet pรฅ sekvensen.
[ ] Den spesifiserer en eller flere sekvensparametere.
START MED Den beskriver startsekvensverdien.
ร˜K MED Dette spesifiserer verdien som skal รธkes fra den siste verdien som ble tildelt for hver gang en ny sekvensverdi genereres. Standard er 1.
MAXVALUE Dette spesifiserer maksimumsverdien som kan genereres av sekvensen. kan vรฆre mellom -4611686018427387903 og 4611686018427387902.
IKKE MAKSVERDI 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.
MINVERDI / INGEN MINVERDI Den spesifiserer minimumsverdien som en sekvens kan generere. kan vรฆre mellom -4611686018427387904 og 4611686018427387902. Nรฅr INGEN MINVERDI brukes, er minimumsverdien for en stigende sekvens 1
SYKLUS CYCLE-direktivet spesifiserer at sekvensnummeret vil bli startet pรฅ nytt etter at det nรฅr sin maksimums- eller minimumsverdi.
INGEN SYKLUS Standardalternativ.NO SYCLE-direktivet spesifiserer at sekvensnummeret ikke vil bli startet pรฅ nytt etter at det nรฅr sin maksimums- eller minimumsverdi.
CACHE / Bufferstรธrrelsen spesifiserer hvilket omrรฅde av sekvensnumre som skal bufres i en node. mรฅ vรฆre usignert heltall.
INGEN CACHE Standardalternativ. NO CACHE-direktivet spesifiserer at sekvensnummeret ikke vil bli bufret i en node.
TILBAKESTILL AV Den spesifiserer at under omstart av databasen, kjรธrer databasen automatisk og sekvensverdien startes pรฅ nytt med den returnerte verdien.

Eksempel -

Vi vil lage en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil skape รธkt verdi av sekvensen med +1 hver gang nรฅr sekvensen brukes.

Sekvensskript โ€“

CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.

Her vil vi bruke objektet "sekvens" i eksemplet nedenfor for รฅ รธke verdien av ansattnr med +1 hver gang valgspรธrringen utfรธres. I spรธrringen kan "nextval" brukes til serienummergenerering eller samme type krav.

Bruk av sekvens โ€“

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

OUTPUT โ€“ 100,101,102โ€ฆโ€ฆโ€ฆSรฅ for hver kjรธring av ovenstรฅende velger du spรธrringen.

Oppsummer dette innlegget med: