Не удается установить значение объявленной переменной в MySQL.Если я запускаю следующее в командной строке MySQL, все это прекрасно работает:
SET @numberOfMonths = (SELECT COUNT(\*) FROM (SELECT DISTINCT months WHERE year = 2010) as A);
SELECT @numberOfMonths;
Так что в этом конкретном примере возвращается 6.
Если я выполняю следующее, у меня тоже нет проблем:
DELIMITER @@
CREATE PROCEDURE GetPropertyTenantPayment()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE numberOfMonths INT DEFAULT 6;
....
END;
@@
Нет, проблема в том, что процедура работает как надо, но как только я это сделаю:
DELIMITER @@
CREATE PROCEDURE GetPropertyTenantPayment()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE numberOfMonths INT;
SET numberOfMonths = (SELECT COUNT(\*) FROM (SELECT DISTINCT month WHERE year = 2010) as A);
...
END;
@@
Я получаю синтаксическую ошибку в строке SET numberOfMonths.Я не очень понимаю, почему?Я делаю то же самое вне процедуры, и нет проблем.Спасибо за помощь!