Credo che non sia possibile, quando dichiari l'inizio di una transazione, tutto ciò che avvine in essa fa parte della transazione.
L'unico modo che avresti sarebbe di creare 2 connessioni al db, una la usi per le query appartenenti alla transazione, l'altra per le query indipendenti, una cosa del tipo:
- crei connessione 1 (c1)
- crei connessione 2 (c2)
- c1 -> l'inizio della transazione
- c1 -> Update
- c2 -> Update
- c1 -> Delete
- c1 -> Update
- c2 -> Delete
- c1 -> Update
- c1 -> Fine transazione
Tutte le query eseguite su c1 faranno parte della transazione, quelle su c2 no.
Il dubbio a questo punto è se all'eventuale fallimento di una query intermedia tutta l'esecuzione della transazione viene interrotta, tipo il sollevamento di un'eccezzione, e di conseguenza anche le query seguenti di c2 sarebbero saltate.
Penso di no, si dovrebbe arrivare comunque alla fine e solo allora decidere se fare il rollback o il commit, quindi tutte le istruzioni dovrebbero venire eseguite, ma magari indaga meglio su questa cosa o aspetta qualcuno che lo sappia con certezza.