Какво е последователност?
Последователността е обект на база данни, който автоматично генерира увеличения списък с числови стойности съгласно правило, както е посочено в спецификацията на последователността.
Например за автоматично вмъкване на номер на служител в колона (EMPLOYEE_NO) на Таблица, когато в таблицата се вмъкне нов запис, тогава използваме последователност.
Стойностите на последователността се генерират във възходящ или низходящ ред.
Поредиците не са свързани с таблици; те се използват от приложението. Има две стойности в последователност -
- CURRVAL - Осигурява текуща стойност на последователността.
- NEXTVAL - Предоставяне на следваща стойност на последователност.
СИНТАКСИС
СЪЗДАВАНЕ НА ПОСЛЕДОВНОСТ <име_последователност> [<списък_параметър_параметър>] [RESET BY]
СИНТАКСНИ ЕЛЕМЕНТИ
ЕЛЕМЕНТИ | ОПИСАНИЕ |
---|---|
<име_последователност> | Това е името на последователността. |
[<последователност_параметър_списък>] | Той определя един или повече параметри на последователността. |
ЗАПОЧНЕТЕ С | Той описва началната стойност на последователността. |
ПРИБОЛЯВАНЕ ОТ | Това определя стойността, която трябва да се увеличи от последната стойност, присвоена за всеки път, когато се генерира нова стойност на последователност. По подразбиране е 1. |
MAXVALUE | Това определя максималната стойност, която може да бъде генерирана от последователността. |
БЕЗ МАКСИМАЛНА СТОЙНОСТ | Когато е посочено NO MAXVALUE, за възходяща последователност максималната стойност ще бъде 4611686018427387903, а минималната стойност за низходяща последователност ще бъде -1. |
MINVALUE | Той определя минималната стойност, която една последователност може да генерира. |
ЦИКЛ | Директивата 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
... Така че при всяко изпълнение на гореизбраната заявка.