They are executed from top to bottom, so in the order you did it, the deletes will execute first and the insert after them.
JDBC transaction, execution order of sql statements
-
28-06-2022 - |
Frage
I have following JDBC code:
Connection conn = connectUserDataSource();
// Setting auto commit to false to execute all queries as part of transaction
conn.setAutoCommit(false);
PreparedStatement deletePreparedStatement = null;
PreparedStatement insertPreparedStatement = null;
try
{
deletePreparedStatement = conn.prepareStatement(sqlDelete);
deletePreparedStatement.setInt(1, someId);
deletePreparedStatement.executeUpdate();
insertPreparedStatement = conn.prepareStatement(sqlInsert);
for(SomeObject obj : objects)
{
insertPreparedStatement.setInt(1, obj.getId());
}
insertPreparedStatement.executeBatch();
// committing transaction
conn.commit();
transactionComplete = true;
}
And I would like 2 prepared statements to be part of one JDBC transaction. I am wondering whether order at which they are created will be the execution order of SQL statements: delete first and inserts - after.
Lösung
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow