Spec-Zone.ru › MariaDB

СВОЕТОЧКА

Синтаксис

SAVEPOINT identifier
ROLLBACK [WORK] TO [SAVEPOINT] identifier
RELEASE SAVEPOINT identifier

Описание

InnoDB поддерживает SQL-команды SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT и необязательное ключевое слово WORK для ROLLBACK.

Каждая своеточка должна иметь допустимый идентификатор MariaDB. Своеточка — это именованная подтранзакция.

Обычно ROLLBACK отменяет изменения, выполненные в рамках всей транзакции. При использовании с предложением TO он отменяет изменения, выполненные после указанной своеточки, и удаляет все последующие своеточки. Однако все блокировки, полученные после своеточки, сохраняются. RELEASE SAVEPOINT не откатывает и не подтверждает никакие изменения, а только удаляет указанную своеточку.

Когда начинается выполнение триггера или хранимой функции, невозможно использовать операторы, которые ссылаются на своеточку, определённую вне этой хранимой программы.

При выполнении COMMIT (включая неявные подтверждения) или оператора ROLLBACK (без предложения TO) они действуют на всю транзакцию, и все своеточки удаляются.

Ошибки

Если выдается COMMIT или ROLLBACK, и транзакция не была начата, ошибка не сообщается.

Если выдается SAVEPOINT, и транзакция не была начата, ошибка не сообщается, но своеточка не создаётся. Когда вызывается ROLLBACK TO SAVEPOINT или RELEASE SAVEPOINT для своеточки, которой не существует, выдаётся ошибка такого типа:

ERROR 1305 (42000): SAVEPOINT svp_name does not exist
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не просматривается предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/savepoint/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API