SAP Підручник HANA: створення послідовності

Що таке послідовність?

Послідовність — це об’єкт бази даних, який автоматично створює збільшений список числових значень відповідно до правила, зазначеного в специфікації послідовності.

Наприклад, щоб автоматично вставити номер співробітника в стовпець (EMPLOYEE_NO) таблиці, коли в таблицю вставляється новий запис, ми використовуємо послідовність.

Значення послідовності генеруються в порядку зростання або спадання.

Послідовності не пов'язані з таблицями; вони використовуються програмою. Є два значення в послідовності –

  • CURRVAL – надає поточне значення послідовності.
  • NEXTVAL – надати наступне значення послідовності.

СИНТАКС

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

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

ЕЛЕМЕНТИ ОПИС
Це назва послідовності.
[ ] Він визначає один або кілька параметрів послідовності.
ПОЧИНАТИ З Він описує початкове значення послідовності.
ЗБІЛЬШИТИ НА Це визначає значення, яке буде збільшено з останнього значення, призначеного для кожного разу, коли генерується нове значення послідовності. За замовчуванням 1.
MAXVALUE Це визначає максимальне значення, яке може бути згенероване послідовністю. може бути між -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.

Тут ми будемо використовувати об’єкт «sequence» у наведеному нижче прикладі, щоб збільшити значення Emploee no на +1 кожного разу, коли виконується запит на вибірку. У запиті «nextval» можна використовувати для створення серійного номера або того самого типу вимоги.

Використання послідовності –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

OUTPUT – 100,101,102………Тож при кожному виконанні вищезазначеного запиту select.