Punkt zapisu

Punkt zapisu to sposób implementacji transakcji podrzędnych (znanych również jako transakcje zagnieżdżone ) w systemie zarządzania relacyjną bazą danych poprzez wskazanie punktu w transakcji , do którego można „ przywrócić ” bez wpływu na jakąkolwiek pracę wykonaną w ramach transakcji przed utworzeniem punktu zapisu. W ramach jednej transakcji może istnieć wiele punktów zapisu. Punkty zapisu są przydatne do wdrażania złożonego odzyskiwania po błędach w aplikacjach bazodanowych. Jeśli w trakcie transakcji zawierającej wiele instrukcji wystąpi błąd, aplikacja może naprawić błąd (poprzez wycofanie do punktu zapisu) bez konieczności przerywania całej transakcji.

Punkt zapisu można zadeklarować, wydając instrukcję nazwy punktu zapisu . Wszystkie zmiany dokonane po zadeklarowaniu punktu zapisu można cofnąć, wydając ROLLBACK TO SAVEPOINT name . Wydanie nazwy RELEASE SAVEPOINT spowoduje odrzucenie nazwanego punktu zapisu, ale poza tym nie wpłynie na nic. Wydanie poleceń ROLLBACK lub COMMIT spowoduje również odrzucenie wszystkich punktów zapisu utworzonych od rozpoczęcia głównej transakcji.

Punkty zapisu są zdefiniowane w standardzie SQL i są obsługiwane przez wszystkie znane relacyjne bazy danych SQL, w tym PostgreSQL , Oracle Database , Microsoft SQL Server , MySQL , IBM Db2 , SQLite (od wersji 3.6.8), Firebird , H2 Database Engine i Informix (od wersji 3.6.8). wersja 11.50xC3).