Поиск…


Синтаксис

  • CREATE SEQUENCE SCHEMA.SEQUENCE {INCREMENT by INTEGER | НАЧАЛО С INTEGER | MAXVALUE INTEGER | NOMAXVALUE INTEGER | MINVALUE INTEGER | NOMINVALUE INTEGER | CYCLE INTEGER | NOCYCLE INTEGER | CACHE | NOCACHE | ЗАКАЗАТЬ | NOODER}

параметры

параметр подробности
схема название схемы
приращение интервал между числами
начните с необходимо первое число
MAXVALUE Максимальное значение для последовательности
NOMAXVALUE Максимальное значение по умолчанию
MinValue минимальное значение для последовательности
nominvalue минимальное значение по умолчанию
цикл Сброс до начала после достижения этого значения
NOCYCLE По умолчанию
кэш Предел превалирования
NoCache По умолчанию
порядок Гарантировать порядок номеров
Noorder дефолт

Создание последовательности: пример

Цель

Используйте инструкцию CREATE SEQUENCE для создания последовательности, которая является объектом базы данных, из которой несколько пользователей могут генерировать уникальные целые числа. Вы можете использовать последовательности, чтобы автоматически генерировать значения первичного ключа.

Когда генерируется порядковый номер, последовательность увеличивается, независимо от транзакции, совершающей или откат. Если два пользователя одновременно увеличивают одну и ту же последовательность, то порядковые номера, которые каждый пользователь получает, могут иметь пробелы, так как порядковые номера генерируются другим пользователем. Один пользователь никогда не сможет получить порядковый номер, сгенерированный другим пользователем. После того как значение последовательности генерируется одним пользователем, этот пользователь может продолжить доступ к этому значению независимо от того, увеличивается ли эта последовательность другим пользователем.

Номера последовательностей генерируются независимо от таблиц, поэтому одна и та же последовательность может использоваться для одного или нескольких таблиц. Возможно, что отдельные порядковые номера будут пропущены, потому что они были сгенерированы и использованы в транзакции, которая в конечном счете откат. Кроме того, один пользователь может не понимать, что другие пользователи рисуют из одной и той же последовательности.

После создания последовательности вы можете получить доступ к своим значениям в операторах SQL с псевдоколонкой CURRVAL, которая возвращает текущее значение последовательности или псевдоколонку NEXTVAL, которая увеличивает последовательность и возвращает новое значение.

Предпосылки

Чтобы создать последовательность в вашей собственной схеме, вы должны иметь системную привилегию CREATE SEQUENCE.

Чтобы создать последовательность в схеме другого пользователя, вы должны иметь системную привилегию CREATE ANY SEQUENCE.

Создание последовательности: пример Следующий оператор создает последовательность customers_seq в схеме экземпляра oe. Эта последовательность может использоваться для предоставления идентификационных номеров клиентов, когда строки добавляются в таблицу клиентов.

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

Первая ссылка на customer_seq.nextval возвращает 1000. Вторая возвращает 1001. Каждая последующая ссылка вернет значение 1 больше, чем предыдущая ссылка.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow