Точка сохранения
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2014 г. ) |
Точка сохранения — это способ реализации субтранзакций (также известных как вложенные транзакции ) в системе управления реляционными базами данных путем указания точки внутри транзакции , к которой можно « откатиться », не затрагивая какую-либо работу, выполненную в транзакции до создания точки сохранения. В одной транзакции может существовать несколько точек сохранения. Точки сохранения полезны для реализации сложного восстановления ошибок в приложениях баз данных. Если ошибка возникает во время транзакции с несколькими операторами, приложение может восстановиться после ошибки (путем отката к точке сохранения) без необходимости прерывать всю транзакцию.
Точку сохранения можно объявить, выдав команду SAVEPOINT name
заявление. Все изменения, внесенные после объявления точки сохранения, можно отменить, выдав команду ROLLBACK TO SAVEPOINT name
команда. Выпуск RELEASE SAVEPOINT name
приведет к удалению указанной точки сохранения, но в остальном ни на что не повлияет. Выдача команд ROLLBACK
или COMMIT
также отменит все точки сохранения, созданные с момента начала основной транзакции.
Точки сохранения определены в стандарте SQL и поддерживаются всеми существующими реляционными базами данных SQL, включая PostgreSQL , Oracle Database , Microsoft SQL Server , MySQL , IBM Db2 , SQLite (начиная с версии 3.6.8), Firebird , H2 Database Engine и Informix (начиная с версии 3.6.8). версия 11.50xC3).