Перейти к основному содержимому

START TRANSACTION

примечание

Эта страница переведена при помощи нейросети GigaChat.

START TRANSACTION – начало блока транзакции.

Краткий обзор

START TRANSACTION [ transaction_mode [, ...] ]

where transaction_mode is one of:

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE

Описание

Эта команда начинает новый транзакционный блок. Если указаны параметры — уровень изоляции, режим чтения/записи или параметр DEFERRABLE — то транзакция будет создана с этими характеристиками, как если бы была выполнена команда SET TRANSACTION. Это то же самое, что и команда BEGIN.

Параметры

Смотрите SET TRANSACTION для получения информации о параметрах этой команды.

Совместимость

Согласно стандарту SQL, не обязательно явно выполнять START TRANSACTION, чтобы начать транзакцию — любой SQL-запрос автоматически запускает транзакционный блок. Поведение PostgreSQL можно рассматривать как неявное выполнение команды COMMIT после каждой команды, которая не следует за START TRANSACTION (или BEGIN), и поэтому она часто называется «автофиксация». Другие системы реляционных баз данных могут предлагать функцию автофиксации как удобную возможность.

Команда DEFERRABLE transaction_mode является расширением языка PostgreSQL.

Стандарт SQL требует запятые между последовательными элементами transaction_modes, но по историческим причинам PostgreSQL позволяет опускать запятые.

Смотрите также раздел совместимости команды SET TRANSACTION.

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

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION