3

Ibatis 移行スクリプトでBig DBA Headの次の例を使用しようとしました。

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 ;

しかし、ibatis は次のエラーをスローします。

...実行中のエラー: delimiter // 存在する場合は関数を削除 get_next_value_test // 関数を作成 get_next_value_test(p_name varchar(30)) return int deterministic sql security invoker begin
declare current_val integer . 原因: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SQL 構文にエラーがあります。Near 'delimiter //... を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

allowMultiQueries と send_full_script を設定しようとしましたが、成功しませんでした。このスクリプトを実行する方法はありますか?

Thx、T.

4

1 に答える 1