【发布时间】:2017-01-20 01:40:48
【问题描述】:
在下面的 msql sp 中,如果星期几是星期五,我试图退出,但我无法让它工作,因为在“END IF;”处有语法错误。我只是看不到它。
CREATE PROCEDURE `bookFreeDay`()
proc_label:BEGIN
DECLARE bDone INT;
DECLARE t1 VARCHAR(5);
-- todo exclude sa/so
IF DAYOFWEEK(SUBDATE(CURDATE(),1)) = 5 THEN
LEAVE proc_label;
END IF;
DECLARE curs CURSOR FOR select durTime from freeDays where
(year is not null && year= substring(CURDATE(),1,4) && start=substring(SUBDATE(CURDATE(),1), 6,5))
|| (year is null && start=substring(SUBDATE(CURDATE(),1), 6,5));
DECLARE CONTINUE HANDLER FOR NOT FOUND SET bDone = 1;
OPEN curs;
SET bDone = 0;
REPEAT
FETCH curs INTO t1;
select CONCAT(SUBDATE(CURDATE(),1), " 08:00:00") into @st;
select addtime(@st, t1) into @en;
insert into timeEntries
(select
null,
idUsers,
@st,
@en,
null,
2
from users
where right(pensum,1)='%');
UNTIL bDone END REPEAT;
CLOSE curs;
END
【问题讨论】:
标签: mysql if-statement stored-procedures exit