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.


См. также

BEGIN, COMMIT, ROLLBACK, [SAVEPOINT], SET TRANSACTION