Commit und Rollback werden OHNE EXECUTE aufgerufen!
Code:
EXEC SQL COMMIT;
EXEC SQL ROLLBACK;
Execute wird nur in Verbindung mit dynamischem SQL verwendet und zwar um einen mit PREPARE in ein ausführbares SQL Statement konvertierten String auszuführen.
Die Änderung wurde bei Dir nicht festgeschrieben, also es ist kein COMMIT erfolgt. Beim Abmelden wird auf Nummer Sicher gegangen, d.h. alle nicht festgeschriebenen und unter Commit ausgeführten Änderungen werden zurückgesetzt (ROLLBACK).
Du solltest außerdem nach JEDEM SQL Statement (also nach dem EXEC SQL) entweder den SQLCODE oder SQLSTATE prüfen.
Wenn der SQLCODE < 0 ist oder die ersten beiden Stellen des SQLSTATEs weder 00, noch 01, noch 02 ist, liegt ein Fehler for.
Dokumentation für die SQLCODEs und/oder SQLSTATEs sind hier:
SQL Message Finder
Bookmarks