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