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