我有一个 spring-boot
我正在编写单元测试的服务。服务作为api的一部分执行以下方法。我通过rest客户机手动测试了api,我可以看到它在工作。
public int doProessing(String name) {
String sql = "DELETE BS FROM FOO.TABLE1 BS JOIN FOO.TABLE2 BM on BM.SURR_KEY = BS.SURR_KEY WHERE BM.NAME = ?";
return jdbcTemplate.update(sql, new Object[]{StringUtils.upperCase(name)});
}
当我编写一个使用hsql的单元测试时,我得到以下异常。
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [DELETE BS FROM FOO.TABLE1 BS JOIN FOO.TABLE2 BM on BM.SURR_KEY = BS.SURR_KEY WHERE BM.NAME = ?]; nested exception is java.sql.SQLSyntaxErrorException: unexpected token: BS required: FROM in statement [DELETE BS FROM FOO.TABLE1 BS JOIN FOO.TABLE2 BM on BM.SURR_KEY = BS.SURR_KEY WHERE BM.NAME = ?]
我不明白为什么hsql抱怨这个sql在mysql中运行良好。
谢谢
1条答案
按热度按时间js5cn81o1#
不支持此操作,因为它使用联接进行删除。hsqldb语法如下: