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 specificerer, hvilket omrรฅde af sekvensnumre, der skal cachelagres 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.

Opsummer dette indlรฆg med: