FirebirdSQL logo

Примеры

Example 1. Удаление последовательности
DROP SEQUENCE EMP_NO_GEN;

RECREATE SEQUENCE

Назначение

Создание или пересоздание последовательности (генератора).

Доступно в

DSQL, ESQL

Синтаксис
RECREATE {SEQUENCE | GENERATOR} seq_name
  [START WITH start_value]
  [INCREMENT [BY] increment];
Table 1. Параметры оператора RECREATE SEQUENCE
Параметр Описание

seq_name

Имя последовательности (генератора). Может содержать до 63 символов.

start_value

Начальное значение последовательности (генератора).

increment

Шаг приращения.4 байтное целое число.

Оператор RECREATE SEQUENCE создаёт или пересоздаёт последовательность (генератор). Если последовательность с таким именем уже существует,то оператор RECREATE SEQUENCE попытается удалить её и создать новую последовательность.При наличии зависимостей для существующей последовательности оператор RECREATE SEQUENCE не выполнится.

docnext count = 4

Примеры

Example 1. Пересоздание последовательности
RECREATE SEQUENCE EMP_NO_GEN
START WITH 10
INCREMENT BY 1;

SET GENERATOR

Назначение

Устанавливает значение последовательности или генератора в заданное значение.

Доступно в

DSQL, ESQL

Синтаксис
SET GENERATOR seq_name TO new_val
Table 1. Параметры оператора SET GENERATOR
Параметр Описание

seq_name

Имя последовательности (генератора).

new_val

Новое значение последовательности (генератора). 64 битное целое в диапазоне от -263 .. 263 - 1

Оператор SET GENERATOR устанавливает значение последовательности или генератора в заданное значение.

Note

Оператор SET GENERATOR считается устаревшим и оставлен ради обратной совместимости.В настоящее время вместо него рекомендуется использовать стандарт-совместимый оператор ALTER SEQUENCE.

Неосторожное использование оператора SET GENERATOR (изменение значения последовательности или генератора) может привести к потере логической целостности данных.

Кто может изменить значение генератора?

Выполнить оператор SET GENERATOR могут:

  • Администраторы

  • Владелец последовательности (генератора);

  • Пользователи с привилегией ALTER ANY SEQUENCE (ALTER ANY GENERATOR).

Примеры

Example 1. Установка значения для последовательности
SET GENERATOR EMP_NO_GEN TO 145;
Note

То же самое можно сделать, используя оператор ALTER SEQUENCE

ALTER SEQUENCE EMP_NO_GEN RESTART WITH 145;
См. также:

ALTER SEQUENCE, NEXT VALUE FOR, GEN_ID.