SAP Урок за HANA: Създаване на последователност

Какво е последователност?

Последователността е обект на база данни, който автоматично генерира увеличения списък от числови стойности според правилото, както е посочено в спецификацията на последователността.

Например за автоматично вмъкване на номер на служител в колона (EMPLOYEE_NO) на таблицата, когато в таблицата се вмъкне нов запис, тогава използваме последователност.

Стойностите на последователността се генерират във възходящ или низходящ ред.

Последователностите не са свързани с таблици; те се използват от приложението. Има две последователни стойности –

  • CURRVAL – Предоставяне на текущата стойност на последователността.
  • NEXTVAL – Предоставяне на следващата стойност на последователността.

СИНТАКСИС

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

СИНТАКСИЧНИ ЕЛЕМЕНТИ

ЕЛЕМЕНТИ ОПИСАНИЕ
Това е името на последователността.
[ ] Той определя един или повече параметри на последователността.
ЗАПОЧНЕТЕ С Той описва стойността на началната последователност.
УВЕЛИЧАВАНЕ С Това указва стойността, която да се увеличава от последната присвоена стойност за всеки път, когато се генерира нова стойност на последователност. По подразбиране е 1.
МАКСИМАЛНА СТОЙНОСТ Това определя максималната стойност, която може да бъде генерирана от последователността. може да бъде между -4611686018427387903 и 4611686018427387902.
НЯМА МАКСИМАЛНА СТОЙНОСТ Когато е указано NO MAXVALUE, за възходяща последователност максималната стойност ще бъде 4611686018427387903, а минималната стойност за низходяща последователност ще бъде -1.
МИН. СТОЙНОСТ / БЕЗ МИНАЛНА СТОЙНОСТ Той определя минималната стойност, която една последователност може да генерира. може да бъде между -4611686018427387904 и 4611686018427387902. Когато се използва NO MINVALUE, минималната стойност за възходяща последователност е 1
ЦИКЛ Директивата CYCLE указва, че поредният номер ще бъде рестартиран, след като достигне своята максимална или минимална стойност.
БЕЗ ЦИКЪЛ Опция по подразбиране. Директивата NO CYCLE указва, че поредният номер няма да бъде рестартиран, след като достигне своята максимална или минимална стойност.
КЕШ / Размерът на кеша определя кой диапазон от поредни номера ще бъде кеширан в даден възел. трябва да е цяло число без знак.
НЯМА КЕШ Опция по подразбиране. Директивата NO CACHE указва, че поредният номер няма да бъде кеширан в даден възел.
НУЛИРАНЕ ОТ Той указва, че по време на рестартирането на базата данни, базата данни автоматично изпълнява и стойността на последователността се рестартира с върнатата стойност.

Пример -

Ще създадем последователност с име DHK_SCHEMA.EMP_NO, която ще създава увеличена стойност на последователността с +1 всеки път, когато последователността се използва.

Скрипт за последователност –

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

Тук ще използваме обект „последователност“ в примера по-долу, за да увеличим стойността на номер на служител с +1 всеки път, когато се изпълни заявката за избор. В заявката „nextval“ може да се използва за генериране на сериен номер или същия тип изискване.

Използване на последователност –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

ИЗХОД – 100,101,102………Така че при всяко изпълнение на горната заявка за избор.