Osobně bych to řešil takto:
V cyklu (nebo bez něj) bych si vše zpracoval do pomocnych tabulek bez transakce.
Jakmile bych měl připravena data pri insert, zahájím transakci, nasypu najednou pomoi INSERT INTO - SELECT ... data z pomocnych tabulek do ostrych a transakci ukončím. Pokud jde o stovky záznamů, musí to být hotové během chviličky.