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

Anonim

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

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

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

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

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

  • КРИВЛ - надайте поточне значення послідовності.
  • NEXTVAL - Вкажіть наступне значення послідовності.

СИНТАКС

CREATE SEQUENCE  [] [RESET BY ]

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

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

Тут ми будемо використовувати об'єкт "послідовність" у наведеному нижче прикладі, щоб збільшити значення співробітника no на +1 кожного разу, коли виконується запит вибору. У запиті "nextval" може бути використаний для генерації серійного номера або однотипних вимог.

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

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

ВИХІД - 100,101,102

... Отже, при кожному виконанні вищезазначеного запиту виберіть.