Кто может создать последовательность?
Выполнить оператор CREATE SEQUENCE
(CREATE GENERATOR
) могут:
-
Пользователи с привилегией
CREATE SEQUENCE
(CREATE GENERATOR
).
Пользователь, создавший последовательность, становится её владельцем.
Выполнить оператор CREATE SEQUENCE
(CREATE GENERATOR
) могут:
Пользователи с привилегией CREATE SEQUENCE
(CREATE GENERATOR
).
Пользователь, создавший последовательность, становится её владельцем.
Создание последовательности EMP_NO_GEN с начальным значением 0 и шагом приращения равным единице.
CREATE SEQUENCE EMP_NO_GEN;
Создание последовательности EMP_NO_GEN с начальным значением 5 и шагом приращения равным единице.
CREATE SEQUENCE EMP_NO_GEN START WITH 5;
Создание последовательности EMP_NO_GEN с начальным значением 1 и шагом приращения равным 10.
CREATE SEQUENCE EMP_NO_GEN INCREMENT BY 10;
Создание последовательности EMP_NO_GEN с начальным значением 5 и шагом приращения равным 10.
CREATE SEQUENCE EMP_NO_GEN START WITH 5 INCREMENT BY 10;
ALTER SEQUENCE, SET GENERATOR, DROP SEQUENCE, NEXT VALUE FOR, GEN_ID.
ALTER SEQUENCE
Изменение последовательности (генератора).
DSQL, ESQL
ALTER {SEQUENCE | GENERATOR} seq_name [RESTART [WITH newvalue]] [INCREMENT [BY] increment]
Параметр | Описание |
---|---|
seq_name |
Имя последовательности (генератора). |
newvalue |
Новое значение последовательности (генератора). 64 битное целое в диапазоне от -263 до 263 - 1 |
increment |
Шаг приращения. Не может быть равным |
Оператор ALTER SEQUENCE
устанавливает значение последовательности или генератора в заданное значение и/или изменяет значение приращения.
Предложение RESTART WITH
позволяет установить значение последовательности. Предложение RESTART
может быть использовано самостоятельно (без WITH
) для перезапуска значения последовательности с того значения с которого был начат старт генерации значений или предыдущий рестарт.
Warning
|
Неосторожное использование оператора |
Предложение INCREMENT [BY]
позволяет изменить шаг приращения последовательности для оператора NEXT VALUES FOR
.
Note
|
Изменение значения приращения — это возможность, которая вступает в силу для каждого запроса, который запускается после фиксаций изменения.Процедуры, которые вызваны впервые после изменения приращения, будут использовать новое значение, если они будут содержать операторы |
Выполнить оператор 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
|