... erst mal würde ich das nicht mit Oops Nerv testen, da sieht man zu wenig und außerdem ist das Teil buggy.
Was hast du jetzt eigentlich vor? Master oder Slave? Das, was du da machst, sieht nach slave aus, da gibt es mittlerweile eine Einstellung COMMIT ON RETURN YES, die muss nach der Language Clause platziert werden, die sollte das eigentlich schon tun.

D*B

Zitat Zitat von Martin82 Beitrag anzeigen
Habs jetzt auch mit einer Test-STP probiert. Folgender Code:
Code:
create procedure test_cc()
language sql
begin

declare exit handler for sqlexception rollback;

insert into test values(1,'');
/* Dies löst einen SQL0803 aus (Doppelter Schlüsselwert)*/
insert into test values(1,'');

commit;

end;
Den Aufruf hab ich über RunSQLScripts vom System i Navigator gemacht. JDBC-Settings: Cursor stability(*CS)

Theoretisch müsste dann ja das erste INSERT zurückgesetzt werden oder hab ich da einen Denkfehler? Es klappt nicht. Auch nicht wenn ich nach dem Aufruf der STP explizit ein rollback ausführe...