Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Справочник по SQL
Часто задаваемые вопросы
Запускает блок транзакции.
BEGIN [WORK | TRANSACTION] [transaction_mode]
Где transaction_mode:
ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE
BEGIN запускает блок транзакции, то есть все операторы после команды BEGIN будут выполняться в рамках одной транзакции до явного указания COMMIT или ROLLBACK. По умолчанию (без BEGIN) база данных YMatrix работает в режиме автоматической фиксации транзакций, то есть каждый оператор выполняется в собственной транзакции и неявно завершается фиксацией в конце (если выполнение прошло успешно, в противном случае — откатом).
Внутри блоков транзакций операторы выполняются быстрее, поскольку начало и завершение транзакции требует значительных ресурсов процессора и дисковых операций. Выполнение нескольких операторов в одной транзакции также полезно для обеспечения согласованности при внесении связанных изменений: другие сессии не увидят промежуточное состояние, когда часть связанных обновлений уже выполнена, а другая часть — ещё нет.
Если указан уровень изоляции, режим чтения/записи или откладываемый режим, новая транзакция будет иметь соответствующие характеристики, как если бы была выполнена команда SET TRANSACTION.
WORK
TRANSACTION
— Необязательные ключевые слова. Не оказывают влияния.
SERIALIZABLE
READ COMMITTED
READ UNCOMMITTED
— Стандарт SQL определяет четыре уровня изоляции транзакций: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ и SERIALIZABLE.
START TRANSACTION имеет ту же функциональность, что и BEGIN.
Для завершения блока транзакции используйте COMMIT или ROLLBACK.
Если вы уже находитесь внутри блока транзакции, использование BEGIN вызовет предупреждение. Состояние транзакции при этом не изменится. Для вложения транзакций используйте точки сохранения (см. SAVEPOINT).
Начать блок транзакции:
BEGIN;
Начать блок транзакции с уровнем изоляции REPEATABLE READ:
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
BEGIN — расширение языка базы данных YMatrix. Эквивалентна стандартной SQL команде START TRANSACTION.
Режим транзакции DEFERRABLE — расширение языка базы данных YMatrix.
Следует отметить, что ключевое слово BEGIN используется для других целей в embedded SQL. Рекомендуется обращать внимание на семантику транзакций при миграции приложений баз данных.
COMMIT , ROLLBACK , START TRANSACTION , SAVEPOINT , SAVEPOINT