Я пытаюсь получить значение count из таблицы и сохранить его в переменной с помощью инструкции select в хранимой процедуре. Но когда я использую следующие строки statemntsИспользование переменной в select query
DECLARE totalRegister INTEGER;
SET @sqlstmt = CONCAT('SELECT COUNT(DISTINCT(msisdn)) INTO ', totalRegister, ' FROM sm_history.svc_mgmt_', @yesterdayMonth,' WHERE action_type = 1 AND DATE(created) = ', yesterday);
PREPARE statement FROM @sqlstmt;
EXECUTE statement;
DEALLOCATE PREPARE statement;
Я получаю следующее сообщение об ошибке при вызове хранимой процедуры
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «NULL» по строке 1
Я еще отлаживал свою хранимую процедуру с помощью . Выберите @sql; и удивился, увидев, что возвращается NULL
Edit 1: Переменных вчера и yesterdayDate возвращающегося значения правильно, поэтому я уверен, что это не проблема с этими переменными. Проблема возникает из-за totalRegister переменной
вчера это ошибка? – Mailkov
откуда появляются значения переменной totalRegister, '@ вчераMonth' и' вчера'? вы уверены, что любой из них не является нулевым? –
попытайтесь проверить все эти значения переменных. Любой из них должен быть нулевым. –