@Bulk update: genau das was ihr hier macht, ist ein typischer Bulk update!Unter commit werden hier alle geänderten Sätze gesperrt, da sind Abbrüche geradezu vorprogrammiert und deadlock Situationen vorprogrammiert.

@Commit Grenze: Unter commit beginnt eine Transaktion mit der ersten Sperre und endet mit dem commit/rollback. Innerhalb der Transaktion sind bestimmte Operationen für den Job nicht durchführbar: ENDCMTCTL, set transaction, disconnect, die gehen nur an einer commit Grenze := außerhalb einer Transaktion.

@commit nein: ohne commit kann z.B. zwischen einem select into und nachfolgendem update von anderen Jobs der Inhalt verändert werden. Commit Steuerung aus Unkenntnis zu vermeiden erzeugt Fehlersituationen, die Daten beschädigen können. Alles was mehr als einen Satz verändert (Umbuchungen, Fortschreibung von Summen etc. (und was tut das nicht) gehört in Transaktionen mit commit geklammert - alles andere ist Murks oder viel komplizierter zu programmieren.

D*B