Bryn Llewellyn <bryn@xxxxxxxxxxxx> writes: > xof@xxxxxxxxxxxx wrote: >> You can commit in a loop, but not in BEGIN / END block that has an exception handler: that creates a subtransaction for the duration of the BEGIN / END. > This surprised me when I first started to use PG (after all those years > with ORCL). Really? BEGIN with an exception block is a subtransaction because it's defined to roll back to the database state as of the start of the block if an exception occurs. COMMIT in the middle fundamentally conflicts with that, I should think. Does Oracle interpret that differently? regards, tom lane