La documentación de Statement.executeBatch()
que no está claro en esto, pero supongo que llamándolo vaciará la Statement
lista actual de objetos de comandos SQL en la misma forma que clearBatch()
lo hace. También estoy asumiendo que el mismo es cierto para PreparedStatement
.
Supongo que es posible continuar utilizando el Statement
después de llamar Statement.executeBatch()
, es decir, añadir otro lote de comandos y ejecutarlos.
Aunque no se menciona explícitamente en la documentación de la API de executeBatch
, el comportamiento es especificado por el JDBC 4.3 Especificación de la sección 14.1.2 Ejecución correcta :
lotes de la declaración se pone a vaciar una vez que regresa de executeBatch.
Aunque esto se especifica en una sección llamada 'Ejecución correcta', también es el comportamiento previsto para la ejecución sin éxito.
En resumen, cuando se llama executeBatch()
el lote actual de los estados se envía al servidor de base de datos y se aclaró.