Последовательность. Создание последовательности

Последовательность – это объект базы данных, который создается одним пользователем, но может совместно использоваться несколькими пользователями.

Основное назначение последовательности - автоматическая генерация уникальных чисел, которые обычно применяются для получения значений первичного ключа.

Создание последовательности.

CREATE SEQUENCE имя_последовательности

[INCREMENT BY n ]

[START WITH n ]

[MAXVALUE n | NOMAXVALUE ]

[MINVALUE n | NOMINVALUE ]

[CYCLE | NOCYCLE ];

Где

INCREMENT BY n - интервал между двумя последовательными номерами;

n является целым числом. Если это предложение опущено, приращение при генерации чисел равно 1.

START WITH n - первое генерируемое число в последовательности. Если это предложение опущено, последовательность начинается с 1.

MAXVALUE n - максимальное значение, которое может генерировать последовательность.

NOMAXVALUE - максимальное значение по умолчанию, равное 1027.

MINVALUE n - минимальное значение последовательности.

NOMINVALUE - задает минимальное значение, равное 1.

CYCLE | NOCYCLE - продолжается ли циклическая генерация чисел после достижения максимального или минимального значения.

Подчеркнутые параметры используются по умолчанию.

Пример 1. Создать последовательность kod_podraz_pos для первичного ключа таблицы. Параметр CYCLE использоваться не должен.

CREATE SEQUENCE kod_podraz_pos

INCREMENT BY 1

START WITH 1

MAXVALUE 10

NOCYCLE;

Проверка параметров последовательности.

Проверить значения параметров последовательности можно в таблице USER_SEQUENCES словаря данных:

SELECT sequence_name, min_value, max_value, increment_by

FROM user_sequences;

Чтобы вывести список всех существующих последовательностей нужно создать запрос:

SELECT seguense_name

FROM user_sequences;

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

Изменение шага приращения, максимального и минимального значений, режима циклической генерации значений и кэширования определяется командой ALTER SEQUENCE.

ALTER SEQUENCE имя _ последовательности

[INCREMENT BY n]

[START WITH n]

[MAXVALUE n | NOMAXVALUE ]

[MINVALUE n | NOMINVALUE ]

[CYCLE | NOCYCLE ];

Для изменения параметров необходимо быть владельцем последовательности или иметь для нее привилегию ALTER. Команда влияет только на числа, генерируемые после изменения. Чтобы начать генерацию с другого числа, необходимо удалить последовательность и создать заново.

Удаление последовательности из словаря данных производится с помощью команды

DROP SEQUENCE имя_последовательности;

После удаления последовательности ссылки на нее невозможны.

Пример 2: Удаление последовательности Kod_Podraz_pos.

DROP SEQUENCE Kod_Podraz_pos;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: