ROLLBACK
|
Dieses Dokument 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 die folgenden Abschnitte in der Database Management System Interfaces-Dokumentation:
ROLLBACK - SQL im Teil Natural for DB2
ROLLBACK - SQL im Teil Natural SQL Gateway
ROLLBACK - SQL im Teil Natural for SQL/DS
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 geschriebenenes externes Programmaufruft, 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 ...