Anmelden

View Full Version : Transaktionssteuerung



lorenzen
11-01-02, 09:00
Gibt es die Möglichkeit innerhalb einer gestarteten Transaktion "Zwischensteps" zu setzen zu denen innerhalb der Transaktion nach einem Rollback gesprungen wird?
Also eine geschachtelte Transaktion.

Fuerchau
13-01-02, 13:42
Dies funktioniert nur in ILE-Umgebungen und dann nur in jeweils eigenen Aktivierungsgruppen (bei Programmerstellung anzugeben). Pro Aktivierungsgruppe wird eine eigene SQL-Umgebung gestartet, die somit eigene Transaktionen durchführen kann.

Innerhalb eines Programmes ist dies nicht möglich und schon gar nicht im OPM-Modell !

B.Hauser
13-01-02, 18:59
Hallo,

es gibt die Möglichkeit SQL-Cursor WITH HOLD zu declarieren.
Die Definition des Cursors WITH HOLD bewirkt, dass der Cursor bei COMMIT oder ROLLBACK geöffnet bleibt.
Wird der ROLLBACK WITH HOLD ausgeführt, kann anschliessend der nächste Satz verarbeitet werden.

Dies kann auch im gleichen Programm ausgeführt werden. Eine ILE-Steuerung mit unterschiedlichen Aktivierungs-Gruppen ist nicht zwingend notwendig.

Leider konnte ich die WITH HOLD-Steuerung in SQL bisher noch nicht ausprobieren, aber Näheres findet sich in der AS/400 Online Library in SQL Programming Concepts.

Vielleicht hilft das weiter.

B.Hauser