Я пытаюсь создать базу данных с помощью JDBC с Java.Создание функции SQL из java вызывает Исключение
БД и создание Таблица идет легко, однако теперь мне нужно создать функции и позже триггер, и я держать удар в стену исключений с помощью этой функции, как, например:
USE ratercases;
DROP FUNCTION IF EXISTS `IMC`;
DELIMITER $$
CREATE FUNCTION `IMC` (altura INT,peso INT)
RETURNS DOUBLE
BEGIN
DECLARE AltM DOUBLE;
DECLARE AltSqr DOUBLE;
SET AltM=(altura/100);
SET AltSqr=AltM*AltM;
RETURN peso/AltSqr;
END $$
DELIMITER ;
Если я запустить сценарий выше на MySQL Workbench нет проблем; Однако запуск его с Java получает мне исключения синтаксиса SQL.
Я использую следующий код Java:
// ps is a SQL Statement; ratercases is the target Database;
ps.execute("USE ratercases;"
+ "DROP FUNCTION IF EXISTS `IMC`;"
+ " DELIMITER $$"
+ " CREATE FUNCTION `IMC` (altura INT,peso INT)"
+ " RETURNS DOUBLE"
+ " BEGIN"
+ " DECLARE AltM DOUBLE;"
+ " DECLARE AltSqr DOUBLE;"
+ " SET AltM=(altura/100);"
+ " SET AltSqr=AltM*AltM;"
+ " RETURN peso/AltSqr;"
+ " END $$"
+ " DELIMITER ;");
//
Java/SQL, очевидно, возникают проблемы с Разделителем $$ ...
Может кто-нибудь просветить меня?
Благодаря