ROLLBACK
|
Dieser Abschnitt behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen
Siehe auch ROLLBACK - SQL im Teil Natural for Db2 in der Datenbankmanagementsystem-Schnittstellen-Dokumentation:
Das SQL-Statement ROLLBACK entspricht dem Natural-DML-Statement BACKOUT TRANSACTION. Es macht alle seit dem
Beginn der letzten Recovery Unit ausgeführten Datenbankänderungen rückgängig. Eine
Recovery Unit beginnt entweder zu Beginn der Session oder nach einem
SYNCPOINT-, COMMIT-, END
TRANSACTION- oder BACKOUT
TRANSACTION-Statement. Außerdem bewirkt ROLLBACK, dass
alle während der Transaktion vorgehaltenen Datensätze freigegeben werden.
Wenn ein Programm versucht, Datenbankänderungen, die bereits durch eine
Terminal-Ein-/Ausgabe bestätigt wurden, mit ROLLBACK wieder rückgängig zu
machen, gibt Natural die Fehlermeldung NAT3711 aus.
| Warnung: Da bei Beendigung einer logischen Arbeitseinheit alle Cursor geschlossen werden, darf ein ROLLBACK-Statement nicht innerhalb einer datenbankverändernden
Verarbeitungsschleife stehen, sondern muss nach einer solchen stehen (bzw. bei
geschachtelten Schleifen nach der äußersten Schleife). |
Wenn ein Natural-Programm ein in einer anderen Standard-Programmiersprache geschriebenes
externes Programm aufruft, sollte das aufgerufene Programm kein eigenes
ROLLBACK-Statement enthalten, falls das aufrufende Natural-Programm selbst
auch Datenbankaufrufe durchführt. In diesem Falle sollte das Natural-Programm das
ROLLBACK-Statement für das externe Programm absetzen.
... DELETE FROM SQL-PERSONNEL WHERE NAME = 'SMITH' ROLLBACK ...