Использование MySQL. Как импортировать определенную пользователем функцию базы данных с одного сервера db на другой сервер db с помощью phpmyadmin?MySQL, phpmyadmin, как импортировать определенные пользователем функции
список пользовательских функций могут быть выбраны с помощью этого SQL:
select * from information_schema.routines;
Вот моя функция, которую я хочу, чтобы перейти на другой сервер базы данных:
CREATE DEFINER=`XXX`@`%` FUNCTION `BDayDiff`(d1 DATE, d2 DATE) RETURNS int(11)
DETERMINISTIC
BEGIN
DECLARE dow1, dow2, days, wknddays INT;
SET dow1 = DAYOFWEEK(d1);
SET dow2 = DAYOFWEEK(d2);
SET days = DATEDIFF(d2,d1);
SET wknddays = 2 * FLOOR(days/7) +
IF(dow1 = 1 AND dow2 > 1, 1,
IF(dow1 = 7 AND dow2 = 1, 1,
IF(dow1 > 1 AND dow1 > dow2, 2,
IF(dow1 < 7 AND dow2 = 7, 1, 0)
)
)
);
RETURN FLOOR(days - wkndDays);
END
Но я получаю сообщение об ошибке :
Error
SQL query:
CREATE DEFINER = `XXX`@`%` FUNCTION `BDayDiff` (
d1 DATE,
d2 DATE
) RETURNS INT(11) DETERMINISTIC BEGIN DECLARE dow1,
dow2,
days,
wknddays INT;
MySQL said: Documentation
#1064 - 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 '' at line 5
спасибо Devart, я создал запрос для создания функции, но как-то это бросает ошибку. Я обновил вопрос выше с ошибкой. Есть идеи? – Developer
Это может быть проблема DELIMITER для старых версий phpmyadmin - http://stackoverflow.com/questions/2846516/how-to-write-a-stored-procedure-using-phpmyadmin-and-how-to-use-it- via-php – Devart
Вы также можете попытаться создать процедуру с использованием расширений mysql для PHP. – Devart