РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
468 of 711 menu

Функция func.next_value

Функция func.next_value создает SQL-выражение, которое возвращает следующее значение указанной последовательности базы данных. Функция принимает первым параметром объект последовательности Sequence, для которой нужно получить следующее значение. Такое выражение удобно использовать, когда требуется заранее сгенерировать идентификатор или получить значение счетчика напрямую из СУБД.

Чаще всего func.next_value применяется с последовательностями PostgreSQL и Oracle. В SQLite последовательности как отдельные объекты не поддерживаются, поэтому для демонстрации синтаксиса используется подходящий диалект.

Синтаксис

func.next_value(sequence)

Пример

Давайте создадим последовательность и получим выражение для следующего ее значения:

from sqlalchemy import Sequence, func article_seq = Sequence('article_seq') expr = func.next_value(article_seq) print(expr)

Результат выполнения кода:

next_value(article_seq)

Пример

Давайте выполним выражение через движок SQLite и посмотрим на итоговый SQL-запрос:

from sqlalchemy import Sequence, func, create_engine engine = create_engine('sqlite:///:memory:') article_seq = Sequence('article_seq') expr = func.next_value(article_seq) with engine.connect() as conn: print(expr.compile(engine))

Итоговый SQL запрос:

next_value(article_seq)

Пример

Давайте применим func.next_value в запросе select вместе с меткой:

from sqlalchemy import Sequence, func, select, create_engine engine = create_engine('sqlite:///:memory:') article_seq = Sequence('article_seq') stmt = select(func.next_value(article_seq).label('num')) print(stmt.compile(engine))

Итоговый SQL запрос:

SELECT next_value(article_seq) AS num

Смотрите также

  • функцию func,
    которая создает произвольные SQL-функции
  • функцию func.current_timestamp,
    которая возвращает текущую метку времени
  • функцию func.random,
    которая возвращает случайное число
  • функцию literal,
    которая создает литеральное SQL-выражение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить