COMMIT (SQL)

COMMIT

Dieses Dokument behandelt folgende Themen:

Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen

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


Funktion

Das SQL-Statement COMMIT entspricht dem END TRANSACTION-Statement. Es markiert das Ende einer logischen Transaktion und bewirkt, dass alle während der Transaktion gesperrten Daten freigegeben werden. Alle Datenänderungen werden bestätigt und auf der Datenbank physisch durchgeführt.

Wichtig:
Da bei Beendigung einer logischen Arbeitseinheit alle Cursor geschlossen werden, darf ein COMMIT-Statement nicht innerhalb einer datenbankändernden Verarbeitungsschleife stehen, sondern muss außerhalb einer solchen stehen (bzw. bei geschachtelten Schleifen nach der äußersten Schleife).

Hinweis für Nicht-Natural-Programme

Wenn ein Natural-Programm ein externes Nicht-Natural-Programm aufruft, sollte das aufgerufene Programm kein eigenes COMMIT-Statement enthalten, falls das aufrufende Natural-Programm selbst auch Datenbankaufrufe durchführt. In diesem Falle sollte das Natural-Programm das COMMIT-Statement für das externe Nicht-Natural-Programm enthalten.

Beispiel

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