SET
SET изменяет уровень изоляции по умолчанию для текущего подключения.
Синтаксис
Заголовок раздела «Синтаксис»SET { ISOLATION_LEVEL | ISOLATIONLEVEL | TRANSACTION_ISOLATION } { = | TO } { 'READ COMMITTED' | 'SNAPSHOT' }Описание
Заголовок раздела «Описание»Все три написания переменной указывают на одну локальную настройку подключения. Другие подключения, включая handles того же embedded-движка, сохраняют свои значения по умолчанию.
Параметры
Заголовок раздела «Параметры»Значение должно быть строковым литералом READ COMMITTED или SNAPSHOT. Для выбора на одну транзакцию используйте BEGIN с явным уровнем изоляции.
Результат
Заголовок раздела «Результат»Успех возвращает пустой командный результат. Новые транзакции без явного уровня используют обновлённое значение по умолчанию.
Поведение в транзакции
Заголовок раздела «Поведение в транзакции»SET меняет уровень изоляции по умолчанию только для текущего подключения. Он не меняет уже открытую транзакцию и настройки соседних подключений.
Ошибки и ограничения
Заголовок раздела «Ошибки и ограничения»Неизвестные имена переменных и уровни изоляции приводят к ошибке. Изменение настройки внутри активной транзакции также отклоняется, поэтому следующая транзакция получает однозначный connection-local default.
SET требует аутентифицированную сессию с CONNECT, но не объектное право.
SET ISOLATION_LEVEL = 'READ COMMITTED';BEGIN;ROLLBACK;