Estoy intentando ejecutar el siguiente SQL con Spring JdbcTemplate:
INSERT INTO japan_wht.PIVOT_20427002(doc_header_text, value_date, total_amt, is_refund)
(SELECT
doc_header_text, DATE(value_date), SUM(LOCAL_CCY_AMT), is_refund
FROM
(SELECT
*
FROM
japan_wht.DATA_20427002
WHERE IS_REFUND in ("N")
) t
GROUP BY DATE(value_date) , doc_header_text, is_refund)
Sin embargo, no inserta nada en la tabla de la base de datos y no se produce ningún error.
Cuando intenté ejecutar el siguiente SQL con JdbcTemplate, funciona e inserta datos en la tabla de base de datos:
INSERT INTO japan_wht.PIVOT_20427002(id, doc_header_text, value_date, total_amt, is_refund) values("1", "1", "2017-12-31", 3000, "Y");
Abajo está mi llamado a ejecutar sobre SQLs:
jdbcTemplate.update(sqlString);
No estoy seguro de lo que está mal aquí.
Respuestas
0 para la respuesta № 1Tuve que recurrir al simple JDBC y funcionó:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mySchema?autoReconnect=true&useSSL=false&rewriteBatchedStatements=true",
"root", "root");
Statement stmt = conn.createStatement();
int flag = stmt.executeUpdate(sqlString);
LOGGER.info("Flag = {}", flag);
No estoy seguro de por qué Spring JdbcTemplate no puede manejar tal cosa!