START TRANSACTION
START TRANSACTION — начать блок транзакции
Синтаксис
START TRANSACTION [ режим_транзакции [, ...] ]
где режимом_транзакции может быть:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE
Описание
Эта команда начинает новый блок транзакции. Если указан уровень изоляции, режим
чтения/записи или режим откладываемости, то новая транзакция имеет те же
характеристики, как если бы была выполнена команда SET TRANSACTION
. Данная
команда равнозначна команде BEGIN
.
Параметры
Информацию о значении параметров для данной команды см. в описании SET TRANSACTION
.
Совместимость
Согласно стандарту, необязательно выполнять команду START TRANSACTION
, чтобы
начать блок транзакции: любая команда SQL неявно начинает блок. Поведение
QHB можно рассматривать как неявное выполнение COMMIT
после
каждой команды, которая не следует за START TRANSACTION
(или BEGIN
), и поэтому
его часто называют «автоматической фиксацией». Другие реляционные СУБД тоже могут
для удобства предлагать возможность автоматической фиксации.
Значение DEFERRABLE параметра режим_транзакции является языковым расширением QHB.
Стандарт SQL требует разделения последовательных режимов_транзакции запятыми, но по историческим причинам QHB позволяет их опустить.
См. также параграф о совместимости на справочной страницы команды SET TRANSACTION
.