Nachtrag:
wie schon oben erwähnt hast du ohne COMMIT mit jedem Datensatz eine offene Transaktion mehr. Das prinzipielle Beispiel kannst du so immer als Block betrachten welcher zusammengehört. Start --> Commit --> bei Fehler Rollback
hoffe geholfen zu haben...