FirebirdSQL logo

Примеры

Example 1. Изменение последовательности

Установка для последовательности EMP_NO_GEN значения 145.

ALTER SEQUENCE EMP_NO_GEN RESTART WITH 145;
Example 2. Изменение последовательности

Сброс значения последовательности в то, которое было установлено при создании последовательности (или при предыдущей установке значения).

ALTER SEQUENCE EMP_NO_GEN RESTART;
Example 3. Изменение последовательности

Изменение значения приращения последовательности EMP_NO_GEN.

ALTER SEQUENCE EMP_NO_GEN INCREMENT BY 10;

CREATE OR ALTER SEQUENCE

Назначение

Создание новой или изменение существующей последовательности (генератора).

Доступно в

DSQL, ESQL

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

seq_name

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

start_value

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

increment

Шаг приращения.4 байтное целое число.По умолчанию равно 1.

Если последовательности не существует, то она будет создана.Уже существующая последовательность будет изменена, при этом существующие зависимости последовательности будут сохранены.

Important

Оператор CREATE OR ALTER SEQUENCE требует, чтобы хотя бы одно из необязательных предложений было указано.

docnext count = 9

Примеры

Example 1. Создание новой или изменение существующей последовательности
CREATE OR ALTER SEQUENCE EMP_NO_GEN
START WITH 10
INCREMENT BY 1;

DROP SEQUENCE

Назначение

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

Доступно в

DSQL, ESQL

Синтаксис
DROP {SEQUENCE | GENERATOR} seq_name
Table 1. Параметры оператора DROP SEQUENCE
Параметр Описание

seq_name

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

Оператор DROP SEQUENCE удаляет существующую последовательность (генератор). Слова SEQUENCE и GENERATOR являются синонимами.Вы можете использовать любое из них, но рекомендуется использовать SEQUENCE.При наличии зависимостей для существующей последовательности (генератора) удаления не будет выполнено.

Кто может удалить генератор?

Выполнить оператор DROP SEQUENCE (DROP GENERATOR) могут:

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

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

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

Примеры

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 не выполнится.

Примеры

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.