Zitat Zitat von Fuerchau Beitrag anzeigen
Das Programm, dass die Prozedur aufruft, entscheidet über den Commitlevel.
Die Prozedure erbt i.d.R. vom Aufrufer.

Prüfe einfach mal, ob du im Programmcode:

exec sql set option commit = *chg;

verwendest. Der Default ist leider *none.
Und wichtig ist natürlich auch, dass die Tabellen in einem Journal aufgezeichnet werden.
Ohne Jounrnal keine Transaktionen.
... es geht wieder einmal alles durcheinander:
- default bei SQL ist commit *chg (wird aber von Dilettanten oft auf *none geändert)
- SQL Procedures und Functions erben das commit level aus der Erstellungsumgebung. Profis schreiben das SQL Statement in eine SRCPF und erstellen die Procedure/Function mit RUNSQLSTM ohne verhunzte defaults und dann passt das.
- Versuche commit ohne Journal zu starten enden zum Glück ohne Schaden anzurichten - nämlich sofort.

D*B