START TRANSACTION
Начинает блок транзакции.
Синтаксис
START TRANSACTION [<transaction_mode>] [READ WRITE | READ ONLY]
где transaction_mode:
ISOLATION LEVEL {SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED}
Описание
START TRANSACTION начинает новый блок транзакций. Если указан уровень изоляции или режим чтения/записи, новая транзакция получит эти характеристики, как при выполнении команды SET TRANSACTION. Данная команда равнозначна команде BEGIN.
Параметры
| Параметр | Описание |
|---|---|
READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE |
Стандарт SQL определяет четыре уровня изоляции транзакций:
Уровень изоляции Уровень изоляции |
READ WRITE READ ONLY |
Определяет, будет ли транзакция читать и писать данные или только читать. По умолчанию используется режим чтения/записи. При режиме только чтения запрещены следующие команды SQL: |
Примеры
Начало блока транзакции:
START TRANSACTION;
Совместимость
Согласно стандарту, чтобы начать блок транзакции, необязательно выполнять START TRANSACTION: любая команда SQL неявно начинает блок. Поведение Greengage DB можно представить как неявное выполнение COMMIT после каждой команды, которая не следует за START TRANSACTION (или BEGIN), и поэтому такое поведение часто называется "автофиксацией". Другие реляционные СУБД могут предлагать автофиксацию как удобную возможность.
Стандарт SQL требует использования запятых между последовательными значениями transaction_mode, но по историческим причинам Greengage DB позволяет опустить запятые.
Дополнительную информацию можно посмотреть в разделе Совместимость описания SET TRANSACTION.