Я попытался использовать следующий пример из Big DBA Head в сценарии миграции ibatis.
delimiter //
drop function if exists true_function //
create function true_function(p_param int) returns int
deterministic
sql security invoker
return true
//
drop function if exists get_next_value//
create function get_next_value(p_name varchar(30)) returns int
deterministic
sql security invoker
begin
declare current_val integer;
update mysql.sequences
set value = value + 1
where name = p_name
and true_function((@current_val := mysql.sequences.value) is not null);
return @current_val;
end//
delimiter ;
Но ибатис выдает эту ошибку:
...Ошибка выполнения: разделитель // удалить функцию, если она существует get_next_value_test // создать функцию get_next_value_test(p_name varchar(30)) возвращает int детерминированный вызов безопасности sql begin
declare current_val integer . Причина: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с разделителем //...
Я уже пытался установить allowMultiQueries и send_full_script, но безуспешно. Есть ли у вас какие-либо идеи, чтобы этот скрипт был выполнен?
Спасибо, Т.