У вас проблема с вашими параметрами.Назовите их с префиксом, например in
.
Так что я думаю, что вы хотите:
BEGIN
select @user_id := u.id
from `user`u
where u.email = in_email and
u.password = in_password and
u.statusId = 8;
set @statu = (case when @userid is not null then 9 else 10 end);
call loginHistory(@userid, in_email, @statu, in_ip4, in_ip6, in_deviceType, in_appVer);
set @userid = in_userid;
END;
Я не уверен, что это решит вашу проблему, но хотя бы кодбудет делать что-то более разумное.