Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Datenbanken erstellen » Transaktionen und Isolationsstufen verwenden

 

Savepoints innerhalb von Transaktionen

Sie können wichtige Zustände innerhalb einer Transaktion erkennen und mithilfe von Savepoints wahlweise zu diesen zurückkehren, um Gruppen von zusammengehörigen Anweisungen zu trennen.

Eine SAVEPOINT-Anweisung definiert einen Zwischenpunkt in einer Transaktion. Sie können alle Änderungen bis zu diesem Punkt rückgängig machen, indem sie den Befehl ROLLBACK TO SAVEPOINT verwenden. Sobald eine RELEASE SAVEPOINT-Anweisung ausgeführt oder die Transaktion beendet wurde, können Sie den Savepoint nicht mehr benutzen. Beachten Sie, dass Savepoints keine Auswirkungen auf COMMITs haben. Wenn ein COMMIT ausgeführt wird, werden alle Änderungen in der Datenbank als permanent festgeschrieben.

Durch RELEASE SAVEPOINT oder ROLLBACK TO SAVEPOINT werden keine Sperren freigegeben: Sperren werden nur am Ende einer Transaktion freigegeben.

Savepoints benennen und verschachteln

Wenn Sie benannte, verschachtelte Savepoints verwenden, können Sie viele aktive Savepoints innerhalb einer Transaktion setzen. Änderungen zwischen einem SAVEPOINT und einem RELEASE SAVEPOINT können aufgehoben werden, indem das Zurücksetzen bis zu einem früheren Savepoint oder auf die Transaktion selbst ausgedehnt wird. Änderungen innerhalb einer Transaktion werden erst zu einem festen Bestandteil der Datenbank, wenn sie festgeschrieben sind. Alle Savepoints werden bei der Beendigung einer Transaktion freigegeben.

Savepoints können im Massenbetriebsmodus nicht verwendet werden. Bei der Verwendung von Savepoints gibt es nur geringe zusätzliche Overheads.