Estoy intentando ejecutar dos consultas insertadas en una Statement
, juntándolas en una transacción.Ejecuta dos consultas diferentes en una transacción
yo estaba buscando en el método addBatch
, pero si he entendido bien que se puede utilizar con una sola PreparedStatement
para ejecutar la misma inserción varias veces con diferentes parámetros, o ser utilizado en un objeto Statement
para añadir más consultas al lote , pero sin la posibilidad de agregar parámetros (por lo que podría agregar los valores en la cadena sql. Estilo de inyección de SQL).
También probé un enfoque ingenuo de escribir ambas inserciones en una declaración SQL (insert into table1 values(?, ?); insert into table2 values(?, ?);
), pero de esta manera el PreparedStatement
solo ve los dos primeros parámetros, y tratando de establecer la tercera y la cuarta tira una excepción.
Por curiosidad, ¿cuál es su razón para no querer usar dos 'PreparedStatement' en la misma transacción? ¡Eso haría tu vida más fácil! –
Sí, supongo que no hay una razón especial para no hacer eso, aparte de no pensar en ello. Gracias por mencionarlo. –