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.