【发布时间】:2014-04-03 10:58:37
【问题描述】:
PHPMyAdmin 一直告诉我,我在第 41 行(倒数第三行)出现错误。我似乎无法找到它,任何帮助/建议将不胜感激。我已经仔细检查了 IF-THEN 语法和游标。
BEGIN
DECLARE `done` BOOLEAN DEFAULT false;
DECLARE `a` TEXT;
DECLARE `cur` CURSOR FOR SELECT `mana_cost` FROM `cards`;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET `done`=TRUE;
OPEN `cur`;
read_loop : LOOP
FETCH `cur` INTO `a`;
IF `done`
THEN LEAVE read_loop;
END IF;
IF `a` LIKE '%{B}%'
THEN
UPDATE `cards` SET `color` = 'BLACK '
WHERE `mana_cost` = `a`;
ELSE IF `a` LIKE '%{G}%'
THEN
UPDATE `cards` SET `color` = 'GREEN '
WHERE `mana_cost` = `a`;
ELSE IF `a` LIKE '%{U}%'
THEN
UPDATE `cards` SET `color` = 'BLUE '
WHERE `mana_cost` = `a`;
ELSE IF `a` LIKE '%{W}%'
THEN
UPDATE `cards` SET `color` = 'WHITE '
WHERE `mana_cost` = `a`;
ELSE IF `a` LIKE '%{R}%'
THEN
UPDATE `cards` SET `color` = 'RED '
WHERE `mana_cost` = `a`;
END IF;
END LOOP; //line 41
CLOSE `cur`;
END
【问题讨论】:
标签: mysql sql loops phpmyadmin cursor