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

Anonim

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

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

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

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

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

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

СИНТАКСИС

СЪЗДАВАНЕ НА ПОСЛЕДОВНОСТ <име_последователност> [<списък_параметър_параметър>] [RESET BY ]

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

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

Пример -

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

Сценарий за последователност -

СЪЗДАЙТЕ ПОСЛЕДОВАТЕЛНОСТ DHK_SCHEMA.EMP_NO НАЧАЛО С 100 ИНКРЕНЦИИ ПО 1 

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

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

ИЗБЕРЕТЕ DHK_SCHEMA.EMP_NO.nextval ОТ DUMMY;

ИЗХОД - 100,101,102

... Така че при всяко изпълнение на гореизбраната заявка.