У меня есть приложение, использующее MyBatis, и я пытаюсь добавить SQL-запрос, содержащий несколько операторов.MySQL, MyBatis, ошибка грамматики
<select id="getReleaseDetails" resultType="maingrid" statementType="STATEMENT">
DROP TEMPORARY TABLE IF EXISTS vrTmp;
DROP TEMPORARY TABLE IF EXISTS vrTmp2;
CREATE TEMPORARY TABLE vrTmp AS (
SELECT vr.*, v.Code
... и т.п.
Однако, я получаю сообщение об ошибке:
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TEMPORARY TABLE IF EXISTS vrTmp2;
CREATE TEMPORARY TABLE vrTmp AS (
S' at line 2
]
2014-03-11 12:48:20,069 [bio-8080-exec-3] DEBUG DataSourceUtils - Returning JDBC Connection to DataSource
2014-03-11 12:48:20,085 [bio-8080-exec-3] ERROR VRMService - Error in getDetails :
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TEMPORARY TABLE IF EXISTS vrTmp2;
CREATE TEMPORARY TABLE vrTmp AS (
S' at line 2
The error may exist in mappings/mapping.xml
SQL, прекрасно работает в SQLyog, используя один и тот же логин базы данных.
Что мне не хватает? Это похоже на то, что не нравится ";" для разделения отдельных заявлений.
Thanks
Еще несколько поисков сегодня утром дали этот вопрос, в котором говорится, что в MySQL можно выполнить несколько SQL-запросов: http://stackoverflow.com/questions/7174225/mybatis-executing-multiple-sql-statements-in-one- идти-это-что-это возможно. У меня должно быть что-то еще не так. –