Version 4.2.6
 —  Statements  —

ROLLBACK - SQL

ROLLBACK

Dieses Dokument behandelt folgende Themen:

Siehe auch die folgenden Abschnitte in der Database Management System Interfaces-Dokumentation:


Funktion

Das SQL-Statement ROLLBACK entspricht dem Natural-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 gehaltenen Datensätze freigegeben werden.

Bei dem Versuch, Datenbankänderungen, die bereits durch einen Terminal-I/O 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).

Seitenanfang

Hinweis für Nicht-Natural-Programme

Wenn ein Natural-Programm ein Nicht-Natural-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 Nicht-Natural-Programm enthalten.

Seitenanfang

Beispiel

...
DELETE FROM SQL-PERSONNEL WHERE NAME = 'SMITH' 
ROLLBACK
...

Seitenanfang