无法在存储过程中基于IF
逻辑调用存储过程。我需要根据月份的日期返回2个存储过程中的1个的结果。
逻辑格式不正确,我不知道格式化正确的方法以获得所需的结果。
调用这两个程序只是SELECT
查询。
............................................
DELIMITER //
CREATE PROCEDURE report_novea_remittance()
BEGIN
SELECT IF( DAYOFMONTH(CURDATE()) < 15,
CALL report_novea_1st_15th(),
CALL report_novea_16st_EOM());
END
DELIMITER ;
................................................
如果每月的日期大于第15次调用report_novea_1st_15th()
如果错误调用CALL report_novea_16st_EOM()
这不是你在存储过程中编写IF
语句的方式。正确的格式是:
IF DAYOFMONTH(CURDATE()) < 15 THEN
CALL report_novea_1st_15th();
ELSE
CALL report_novea_16st_EOM();
END IF;
见manual。