SAP Tutorial HANA: Creați secvență
Ce este Sequence?
O secvență este un obiect de bază de date care generează automat lista incrementată de valori numerice conform regulii specificate în specificația secvenței.
De exemplu, pentru a introduce automat numărul angajatului în coloana (EMPLOYEE_NO) din Tabel, atunci când o înregistrare nouă este inserată în tabel, atunci folosim secvența.
Valorile secvenței sunt generate în ordine crescătoare sau descrescătoare.
Secvențele nu sunt asociate cu tabele; sunt utilizate de aplicație. Există două valori în succesiune -
- CURRVAL – Furnizează valoarea curentă a secvenței.
- NEXTVAL – Furnizează următoarea valoare a secvenței.
SINTAXĂ
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
ELEMENTE DE SINTAXĂ
| ELEMENTE | DESCRIERE |
|---|---|
| Este numele secvenței. | |
| [ ] | Specifică unul sau mai mulți parametri de secvență. |
| ÎNCEPE CU | Descrie valoarea secvenței de pornire. |
| INCREMENTARE CU | Aceasta specifică valoarea care urmează să fie incrementată de la ultima valoare atribuită pentru fiecare dată când este generată o nouă valoare a secvenței. Valoarea implicită este 1. |
| MAXVALUE | Aceasta specifică valoarea maximă, care poate fi generată de secvență. poate fi între -4611686018427387903 și 4611686018427387902. |
| NU MAXVALUE | Când este specificat NO MAXVALUE, pentru o secvență ascendentă, valoarea maximă va fi 4611686018427387903 și valoarea minimă pentru o secvență descendentă va fi -1. |
| MINVALUE / FĂRĂ VALOARE MINĂ | Specifică valoarea minimă pe care o poate genera o secvență. poate fi între -4611686018427387904 și 4611686018427387902. Când se utilizează NO MINVALUE, valoarea minimă pentru o secvență crescătoare este 1 |
| CICLU | Directiva CYCLE specifică că numărul de secvență va fi repornit după ce atinge valoarea maximă sau minimă. |
| FĂRĂ CICLU | Opțiunea implicită. Directiva NO CYCLE specifică că numărul de secvență nu va fi repornit după ce atinge valoarea maximă sau minimă. |
| CACHE / | Dimensiunea cache-ului specifică ce interval de numere de secvență va fi stocat în cache într-un nod. trebuie să fie întreg fără semn. |
| FĂRĂ CACHE | Opțiune implicită. Directiva NO CACHE specifică faptul că numărul de secvență nu va fi stocat în cache într-un nod. |
| RESETARE PENTRU | Specifică că în timpul repornirii bazei de date, baza de date execută automat iar valoarea secvenței este repornită cu valoarea returnată. |
Exemplu -
Vom crea o secvență denumită DHK_SCHEMA.EMP_NO, care va crea o valoare incrementată a secvenței cu +1 de fiecare dată când este utilizată secvența.
Scriptul secvenței -
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Aici vom folosi obiectul „secvență” din exemplul de mai jos pentru a crește valoarea angajatului nr cu +1 de fiecare dată când este executată interogarea de selectare. În interogare, „nextval” poate fi folosit pentru generarea numărului de serie sau același tip de cerință.
Utilizarea secvenței -
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
IEȘIRE – 100,101,102………Deci, la fiecare execuție a interogării selectate de mai sus.
