Oracle - Сброс последовательности
- Для сброса последовательности SEQ, созданной с помощью команды:
СОЗДАТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ seq;
- Найдите его текущее значение с помощью команды:
SEQ.CURRVAL ВЫБРАТЬ ИЗ ДВОЙНОГО;
- Затем измените последовательность, добавив параметр, добавив значение приращения VAL (текущее значение - 1), чтобы сбросить последовательность до 1:
ALTER SEQUENCE SEQ INCREMENT по -VAL;
- Затем выполните команду, которая сбросит последовательность:
SEQ.NEXTVAL ВЫБРАТЬ ИЗ ДВОЙНОГО;
- Чтобы восстановить приращение последовательности:
ALTER SEQUENCE SEQ INCREMENT на 1;
Пример:
SQL> создать последовательность seq; Последовательность создана. SQL> выберите seq.nextval из двойного; NEXTVAL ---------- 1 SQL> выберите seq.nextval из двойного; NEXTVAL ---------- 2 SQL> выберите seq.nextval из двойного; NEXTVAL ---------- 3 SQL> выберите seq.currval из двойного; CURRVAL ---------- 3 SQL> изменить последовательность seq на -2; // 2 = SEQ.CURRVAL-1 Последовательность изменена. SQL> выберите seq.nextval из двойного; NEXTVAL ---------- 1 SQL> изменение последовательности seq на 1; Последовательность изменена.