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.