SAP HANA Tutorial: Opret sekvens

Hvad er sekvens?

En sekvens er et databaseobjekt, der automatisk genererer den inkrementerede liste over numeriske værdier i henhold til regel som specificeret i sekvensspecifikation.

For eksempel for at indsætte medarbejdernummer automatisk i kolonne (EMPLOYEE_NO) i tabel, når en ny post indsættes i tabellen, så bruger vi sekvens.

Sekvensværdier genereres i stigende eller faldende rækkefølge.

Sekvenser er ikke knyttet til tabeller; de bruges af applikationen. Der er to værdier i rækkefølge -

  • KURRVAL – Angiv den aktuelle værdi af sekvensen.
  • NEXTVAL – Angiv næste værdi af sekvensen.

SYNTAKS

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

SYNTAKSEELEMENTER

ELEMENTER BESKRIVELSE
Det er navnet på sekvensen.
[ ] Den specificerer en eller flere sekvensparametre.
START MED Den beskriver startsekvensværdien.
FORØG MED Dette angiver den værdi, der skal øges fra den sidste værdi, der er tildelt for hver gang, når en ny sekvensværdi genereres. Standard er 1.
MAXVALUE Dette angiver den maksimale værdi, som kan genereres af sekvensen. kan være mellem -4611686018427387903 og 4611686018427387902.
INGEN MAKSVÆRDI Når NO MAXVALUE er angivet, for en stigende sekvens, vil den maksimale værdi være 4611686018427387903, og minimumsværdien for en faldende sekvens vil være -1.
MINVÆRDI / INGEN MINVÆRDI Den specificerer den minimumsværdi, som en sekvens kan generere. kan være mellem -4611686018427387904 og 4611686018427387902. Når INGEN MINVÆRDI bruges, er minimumsværdien for en stigende sekvens 1
CYKLUS CYCLE-direktivet specificerer, at sekvensnummeret genstartes, når det når sin maksimum- eller minimumværdi.
INGEN CYKUS Standard option.NO CYCLE-direktivet specificerer, at sekvensnummeret ikke genstartes, når det når sin maksimum- eller minimumværdi.
CACHE / Cachestørrelsen angiver hvilket rækkevidde af sekvensen numbers vil blive cachelagret i en node. skal være heltal uden fortegn.
INGEN CACHE Standardindstilling. NO CACHE-direktivet angiver, at sekvensnummeret ikke vil blive cachelagret i en node.
NULSTIL AF Det specificerer, at under genstart af databasen, udfører databasen automatisk og sekvensværdien genstartes med den returnerede værdi.

Eksempel -

Vi vil oprette en sekvens med navnet DHK_SCHEMA.EMP_NO, som vil skabe øget værdi af sekvensen med +1 hver gang, når sekvensen bruges.

Sekvens script –

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

Her vil vi bruge objektet "sekvens" i eksemplet nedenfor til at øge værdien af ​​medarbejdernr med +1 hver gang valgforespørgslen udføres. I forespørgslen kan "nextval" bruges til serienummergenerering eller samme type krav.

Brug af sekvens –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

OUTPUT – 100,101,102………Så ved hver udførelse af ovenstående vælg forespørgsel.