Spring jdbcTemplate在创建触发器时抛出SQL语法错误异常

时间:2012-02-08 23:21:39

标签: java mysql spring

除了解析字符串以删除DELIMITER行之外,有没有办法在jdbcTemplate.execute()中处理“DELIMITER $$”?

我有一个包含触发器声明的文件,我需要从mysql命令行程序执行:

  

mysql -uroot --password = secret mydb< trigger.sql

也在spring java控制台应用程序中:

// read the file, get the sql string....
jdbcTemplate.execute(sql);

该文件包含

DELIMITER $$ 
CREATE TRIGGER user_OnInsert BEFORE INSERT ON `user` 
 FOR EACH ROW BEGIN
   SET NEW.serverGlobalSequenceNumber = get_next_value('global');
END $$ 
DELIMITER ;

删除DELIMITER行可以正确执行文件。

0 个答案:

没有答案