Кто может изменить последовательность?
Выполнить оператор ALTER SEQUENCE
(ALTER GENERATOR
) могут:
-
Владелец последовательности (генератора);
-
Пользователи с привилегией
ALTER ANY SEQUENCE
(ALTER ANY GENERATOR
).
Выполнить оператор ALTER SEQUENCE
(ALTER GENERATOR
) могут:
Владелец последовательности (генератора);
Пользователи с привилегией ALTER ANY SEQUENCE
(ALTER ANY GENERATOR
).
Установка для последовательности EMP_NO_GEN значения 145.
ALTER SEQUENCE EMP_NO_GEN RESTART WITH 145;
Сброс значения последовательности в то, которое было установлено при создании последовательности (или при предыдущей установке значения).
ALTER SEQUENCE EMP_NO_GEN RESTART;
Изменение значения приращения последовательности EMP_NO_GEN.
ALTER SEQUENCE EMP_NO_GEN INCREMENT BY 10;
SET GENERATOR, CREATE SEQUENCE, DROP SEQUENCE, NEXT VALUE FOR, GEN_ID.
CREATE OR ALTER SEQUENCE
Создание новой или изменение существующей последовательности (генератора).
DSQL, ESQL
CREATE OR ALTER {SEQUENCE | GENERATOR} seq_name [{START WITH start_value | RESTART}] [INCREMENT [BY] increment]
Параметр | Описание |
---|---|
seq_name |
Имя последовательности (генератора). Может содержать до 63 символов. |
start_value |
Начальное значение последовательности (генератора).По умолчанию равно |
increment |
Шаг приращения.4 байтное целое число.По умолчанию равно |
Если последовательности не существует, то она будет создана.Уже существующая последовательность будет изменена, при этом существующие зависимости последовательности будут сохранены.
Important
|
Оператор CREATE OR ALTER SEQUENCE требует, чтобы хотя бы одно из необязательных предложений было указано. |
CREATE OR ALTER SEQUENCE EMP_NO_GEN
START WITH 10
INCREMENT BY 1;
DROP SEQUENCE
Удаление последовательности (генератора).
DSQL, ESQL
DROP {SEQUENCE | GENERATOR} seq_name
Параметр | Описание |
---|---|
seq_name |
Имя последовательности (генератора). |
Оператор DROP SEQUENCE
удаляет существующую последовательность (генератор). Слова SEQUENCE
и GENERATOR
являются синонимами.Вы можете использовать любое из них, но рекомендуется использовать SEQUENCE
.При наличии зависимостей для существующей последовательности (генератора) удаления не будет выполнено.
Выполнить оператор DROP SEQUENCE
(DROP GENERATOR
) могут:
Владелец последовательности (генератора);
Пользователи с привилегией DROP ANY SEQUENCE
(DROP ANY GENERATOR
).
DROP SEQUENCE EMP_NO_GEN;
RECREATE SEQUENCE
Создание или пересоздание последовательности (генератора).
DSQL, ESQL
RECREATE {SEQUENCE | GENERATOR} seq_name [START WITH start_value] [INCREMENT [BY] increment];
Параметр | Описание |
---|---|
seq_name |
Имя последовательности (генератора). Может содержать до 63 символов. |
start_value |
Начальное значение последовательности (генератора). |
increment |
Шаг приращения.4 байтное целое число. |
Оператор RECREATE SEQUENCE
создаёт или пересоздаёт последовательность (генератор). Если последовательность с таким именем уже существует,то оператор RECREATE SEQUENCE
попытается удалить её и создать новую последовательность.При наличии зависимостей для существующей последовательности оператор RECREATE SEQUENCE
не выполнится.
RECREATE SEQUENCE EMP_NO_GEN
START WITH 10
INCREMENT BY 1;
SET GENERATOR
Устанавливает значение последовательности или генератора в заданное значение.
DSQL, ESQL
SET GENERATOR seq_name TO new_val
Параметр | Описание |
---|---|
seq_name |
Имя последовательности (генератора). |
new_val |
Новое значение последовательности (генератора). 64 битное целое в диапазоне от -263 .. 263 - 1 |
Оператор SET GENERATOR
устанавливает значение последовательности или генератора в заданное значение.
Note
|
Оператор Неосторожное использование оператора |
Выполнить оператор SET GENERATOR
могут:
Владелец последовательности (генератора);
Пользователи с привилегией ALTER ANY SEQUENCE
(ALTER ANY GENERATOR
).
SET GENERATOR EMP_NO_GEN TO 145;
Note
|
То же самое можно сделать, используя оператор ALTER SEQUENCE
|