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.