Gostaria de saber se têm como incluir várias consultas a STORED PROCEDURES diferentes em BATCH dentro de um CallableStatement??
Quando tento desta forma, só adiciona o último sql que foi incluído no batch:
CallableStatement csBatch;
String sql1 = "{ call Insercao_Empresa_Base_de_Empresas(?, ?, ?, ?, ?, ?) }";
String sql2 = "{ call Insercao_Empresa_Tratamento_IPF(?, ?) }";
// ... (código omitido por questões de clareza)
csBatch = getConexao().prepareCall(
sql1,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
//...
csBatch.addBatch();
//....
csBatch = getConexao().prepareCall(
sql2,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
//...
csBatch.addBatch();
//...
csBatch.executeBatch(); //só executa a última STORED PROCEDURE
Tentei de outra forma, mas dá erro:
CallableStatement csBatch;
String sql1 = "{ call Insercao_Empresa_Base_de_Empresas(?, ?, ?, ?, ?, ?) }";
String sql2 = "{ call Insercao_Empresa_Tratamento_IPF(?, ?) }";
// ... (código omitido por questões de clareza)
csBatch = getConexao().prepareCall(
sql1,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
//....
csBatch.addBatch();
//....
//...
csBatch.addBatch(sql2);
//...
csBatch.executeBatch(); //dá erro: java.sql.SQLException: Driver does not support this function- o erro se dá quando
//tento adicionar a sql2 ao batch do CallableStatement
Ressaltando que em ambas as instruções estou configurando os parâmetros corretamente (apenas omiti estes trechos).
Grato desde já!