Кто может создать последовательность?
Выполнить оператор 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
|