>update never fails but it fails in insert query. loop run in a single >connection with a new datarows in same query.
I think it is about time to show us some code (not all). Could it be that another transaction not visible to your current transaction has inserted a row that creates a lock conflict with your insert and that your code repeatedly tries (and fails) to insert? Or that it is a real deadlock, where one transaction first successfully updates record A, then fails on record B, whereas another transaction has successfully updated record B and fails on record A? Typically, there would be no problems on INSERT, whereas UPDATE could create problems. Getting the problem on INSERT, I'd say indicates some kind of lock conflict which means that you have some UNIQUE field or constraint or don't use generators to populate your primary key. Set