Sto tentando di eseguire due query di inserimento in uno Statement
, riunendole in un'unica transazione.Esegui due query diverse in una transazione
stavo guardando il metodo addBatch
, ma se ho capito bene può essere utilizzato con una sola PreparedStatement
per eseguire lo stesso inserto più volte con parametri diversi, o essere utilizzata su un oggetto Statement
per aggiungere più query al lotto , ma senza la possibilità di aggiungere parametri (quindi potrei essere in grado di aggiungere i valori nella stringa sql. Stile di iniezione SQL).
Ho anche provato un approccio ingenuo di scrittura di entrambi gli inserimenti in una istruzione sql (insert into table1 values(?, ?); insert into table2 values(?, ?);
), ma in questo modo lo PreparedStatement
vede solo i primi due parametri e tenta di impostare il 3 ° e il 4 ° genera un'eccezione.
Per curiosità, qual è la vostra ragione per non voler usare due 'PreparedStatement' nella stessa transazione? Questo ti renderebbe la vita più facile! –
Sì, immagino che non ci sia un motivo speciale per non farlo, a parte non pensarci. Grazie per segnalarlo. –