SAP Vodič za HANA: Stvaranje niza

Što je sekvenca?

Niz je objekt baze podataka koji automatski generira inkrementirani popis numeričkih vrijednosti prema pravilu kako je navedeno u specifikaciji niza.

Na primjer, za automatsko umetanje broja zaposlenika u stupac (EMPLOYEE_NO) tablice, kada se novi zapis umetne u tablicu, tada koristimo niz.

Vrijednosti niza generiraju se uzlaznim ili silaznim redoslijedom.

Nizovi nisu povezani s tablicama; koristi ih aplikacija. Postoje dvije vrijednosti u nizu –

  • CURRVAL – Navedite trenutnu vrijednost niza.
  • NEXTVAL – Navedite sljedeću vrijednost niza.

SINTAKSA

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

ELEMENTI SINTAKSE

ELEMENTI OPIS
To je naziv niza.
[ ] Određuje jedan ili više parametara sekvence.
POČETI SA Opisuje vrijednost početne sekvence.
POVEĆAJ ZA Ovo specificira vrijednost koja se povećava od posljednje dodijeljene vrijednosti za svaki put kada se generira nova vrijednost niza. Zadana vrijednost je 1.
MAKSIMALNA VRIJEDNOST Ovo specificira maksimalnu vrijednost koju može generirati niz. može biti između -4611686018427387903 i 4611686018427387902.
NIJE MAKSIMALNA VRIJEDNOST Kada je navedeno NO MAXVALUE, za uzlazni niz, maksimalna vrijednost će biti 4611686018427387903, a minimalna vrijednost za silazni niz bit će -1.
MIN VRIJEDNOST / BEZ MINIMALNE VRIJEDNOSTI Određuje minimalnu vrijednost koju niz može generirati. može biti između -4611686018427387904 i 4611686018427387902. Kada se koristi NO MINVALUE, minimalna vrijednost za uzlazni niz je 1
CIKLUS Direktiva CYCLE navodi da će se redni broj ponovno pokrenuti nakon što dosegne maksimalnu ili minimalnu vrijednost.
NEMA CIKLUSA Zadana opcija. Direktiva NO CYCLE navodi da se redni broj neće ponovno pokrenuti nakon što dosegne maksimalnu ili minimalnu vrijednost.
PRIPREMA / Veličina predmemorije određuje koji će se niz brojeva sekvenci pohraniti u predmemoriju u čvoru. mora biti cijeli broj bez predznaka.
NEMA KEAŠA Zadana opcija. Direktiva NO CACHE specificira da redni broj neće biti predmemoriran u čvoru.
RESETIRATI DO Određuje da tijekom ponovnog pokretanja baze podataka, baza podataka automatski izvršava a vrijednost niza se ponovno pokreće s vraćenom vrijednošću.

Primjer -

Stvorit ćemo sekvencu pod nazivom DHK_SCHEMA.EMP_NO, koja će kreirati inkrementiranu vrijednost sekvence za +1 svaki put kada se sekvenca koristi.

Sekvenca skripte –

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

Ovdje ćemo koristiti “sekvencu” objekta u donjem primjeru za povećanje vrijednosti broja zaposlenika za +1 svaki put kada se izvrši upit za odabir. U upitu se "nextval" može koristiti za generiranje serijskog broja ili iste vrste zahtjeva.

Upotreba sekvence –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

OUTPUT – 100,101,102………Dakle, pri svakom izvršavanju gornjeg upita za odabir.