2017-10-16 15 views
0

La requête fonctionne correctement dans le champ de requête et renvoie des données.
Mais quand je veux le mettre sur la procédure stockée alors causé une erreur comme la prise d'écran donnée. error reporting image.
S'il vous plaît aidez-moi, comment puis-je résoudre cette question.Lorsque je clique sur le bouton Enregistrer pour enregistrer une procédure stockée, une erreur se produit dans mysql

CREATE DEFINER=`mikrof`@`%` PROCEDURE `savingRelated`() 
LANGUAGE SQL 
NOT DETERMINISTIC 
CONTAINS SQL 
SQL SECURITY DEFINER 
COMMENT '' 
BEGIN 
SELECT SUM(IF(`created_at` < '2017-09-30', 1, 0)) AS MembersInLastMonth, 
    SUM(IF(`created_at` between '2017-10-01'AND '2017-10-15', 1, 0)) AS MembersInCurrentMonth, 
    SUM(IF(`created_at` <= '2017-10-30', 1, 0)) AS gg, 
    SUM(IF(((`IsActive`=0) && (`created_at` between '2017-10-01'AND '2017-10-15')), 1, 0)) AS MembersCancelInCurrentMonth FROM members 
END 

Répondre

1

Essayez ceci.

DELIMITER // 
CREATE DEFINER=`mikrof`@`%` PROCEDURE `savingRelated`() 
LANGUAGE SQL 
NOT DETERMINISTIC 
CONTAINS SQL 
SQL SECURITY DEFINER 
COMMENT '' 
BEGIN 
SELECT SUM(IF(`created_at` < '2017-09-30', 1, 0)) AS MembersInLastMonth, 
    SUM(IF(`created_at` between '2017-10-01'AND '2017-10-15', 1, 0)) AS MembersInCurrentMonth, 
    SUM(IF(`created_at` <= '2017-10-30', 1, 0)) AS gg, 
    SUM(IF(((`IsActive`=0) && (`created_at` between '2017-10-01'AND '2017-10-15')), 1, 0)) AS MembersCancelInCurrentMonth FROM members; 
END// 
DELIMITER ;