Non credo che questo funzionerà.
Per me, la soluzione più semplice è eseguirlo due volte; se la seconda volta si verifica un errore, si interrompe.
Detto questo, non è affatto banale come “eseguire due volte”.
- Lo esegui la prima volta, intercettando gli errori su ogni singola impostazione che applichi.
- La seconda volta lo esegui in batch e ti fermi se qualcosa fallisce.
Se stiamo già gestendo questo caos, dobbiamo affrontare anche i casi in cui ci sono più dipendenze in gioco.
C’è poi la questione del rollback pulito, quindi non è affatto un compito banale.