Точка збереження
Точка збереження — це спосіб реалізації підтранзакцій (також відомих як вкладені транзакції) у системі керування реляційною базою даних шляхом вказання точки в транзакції, до якої можна «відкотитись», не впливаючи на роботу, виконану в транзакції до створення точки збереження. В рамках однієї транзакції може існувати кілька точок збереження. Точки збереження корисні для реалізації комплексного відновлення помилок у програмах баз даних. Якщо помилка виникає в середині транзакції з кількома операторами, програма може відновитися після помилки (шляхом відкоту до точки збереження) без необхідності переривати всю транзакцію.
Точку збереження можна оголосити, використавши вираз SAVEPOINT назва
. Усі зміни, внесені після оголошення точки збереження, можна скасувати, виконавши команду ROLLBACK TO SAVEPOINT назва
. Використання RELEASE SAVEPOINT назва
призведе до відхилення названої точки збереження, але більше ні на що не вплине. Використання команд ROLLBACK
або COMMIT
також відкидає будь-які точки збереження, створені з початку основної транзакції.
Точки збереження визначені в стандарті SQL і підтримуються всіма встановленими реляційними базами даних SQL, включаючи PostgreSQL, Oracle Database, Microsoft SQL Server, MySQL, DB2, SQLite (починаючи з 3.6.8), Firebird, H2 Database Engine і Informix (починаючи з версії 11,50xC3).