Spec-Zone.ru › MariaDB

Следующее значение для последовательности sequence_name

MariaDB начиная с 10.3

Последовательности (SEQUENCE) были введены в MariaDB 10.3

Синтаксис

NEXT VALUE FOR sequence

или

NEXTVAL(sequence_name)

или в режиме Oracle (SQL_MODE=ORACLE)

sequence_name.nextval

NEXT VALUE FOR — это синтаксис ANSI SQL, а NEXTVAL() — синтаксис PostgreSQL.

Описание

Генерирует следующее значение для SEQUENCE.

  • Вы можете значительно ускорить NEXT VALUE создав последовательность с опцией CACHE. В противном случае каждое использование NEXT VALUE вызовет изменения в хранимой таблице SEQUENCE.
  • При использовании NEXT VALUE значение будет зарезервировано сразу и не будет повторно использовано, за исключением случаев, когда последовательность SEQUENCE была создана с CYCLE. Это означает, что при использовании SEQUENCE вы должны ожидать пробелы в сгенерированных номерах последовательности.
  • Если вы обновите SEQUENCE с помощью SETVAL() или ALTER SEQUENCE ... RESTART, NEXT VALUE FOR заметит это и начнет со следующего запрошенного значения.
  • FLUSH TABLES закроет последовательность, и следующее сгенерированное число последовательности будет соответствовать сохранённому значению в объекте SEQUENCE. По сути, это отбросит кэшированные значения.
  • Перезагрузка сервера (или закрытие текущего подключения) также приводит к удалению всех кэшированных значений. Кэшированные номера последовательности зарезервированы только для текущего подключения.
  • Для использования NEXT VALUE требуется INSERT право доступа.
MariaDB начиная с 10.3.3
  • Также можно использовать NEXT VALUE FOR sequence для столбца DEFAULT.

См. также

  • Обзор последовательностей
  • CREATE SEQUENCE
  • ALTER SEQUENCE
  • ПРЕДЫДУЩЕЕ ЗНАЧЕНИЕ ДЛЯ
  • SETVAL(). Установить следующее значение для последовательности.
  • AUTO_INCREMENT
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/next-value-for-sequence_name/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API