SAP Учебное пособие по HANA: создание последовательности

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

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

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

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

Последовательности не связаны с таблицами; они используются приложением. Есть два значения последовательно –

  • CURRVAL – укажите текущее значение последовательности.
  • NEXTVAL – укажите следующее значение последовательности.

СИНТАКСИС

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

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

ЭЛЕМЕНТЫ ОПИСАНИЕ
Это название последовательности.
[ ] Он определяет один или несколько параметров последовательности.
НАЧАТЬ С Он описывает начальное значение последовательности.
ПРИРАЩЕНИЕ НА Это определяет значение, которое будет увеличиваться по сравнению с последним значением, назначенным каждый раз, когда генерируется новое значение последовательности. Значение по умолчанию — 1.
МАКСИМАЛЬНОЕЗНАЧЕНИЕ Это определяет максимальное значение, которое может быть сгенерировано последовательностью. может быть между -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.

Здесь мы будем использовать объект «последовательность» в приведенном ниже примере, чтобы увеличивать значение номера сотрудника на +1 каждый раз, когда выполняется запрос выбора. В запросе «nextval» может использоваться для генерации серийного номера или требования того же типа.

Использование последовательности –

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

ВЫХОД – 100,101,102………Итак, при каждом выполнении вышеуказанного запроса выбора.