【发布时间】:2017-12-16 16:47:02
【问题描述】:
我尝试创建一个带有 if 语句的存储过程。 我复制自:https://dev.mysql.com/doc/refman/5.7/en/local-variable-scope.html
但我在 END IF 上得到以下错误; ''附近:
DROP PROCEDURE IF EXISTS `myProc`;
CREATE DEFINER=`root`@`%` PROCEDURE `myProc`(
IN in_userId int,
IN in_projectId int
)
BEGIN
DECLARE tmp_courseId int;
DECLARE done TINYINT DEFAULT 0;
DECLARE cursorProjectCourse CURSOR FOR SELECT CourseId FROM XC_PROJECT_COURSE where projectId = in_projectId ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cursorProjectCourse;
read_loop: LOOP
FETCH FROM cursorProjectCourse INTO tmp_courseId;
IF done = 1 THEN LEAVE read_loop;
END IF;
SELECT tmp_courseId, in_userId;
END LOOP;
CLOSE cursorProjectCourse;
END;
有人知道我在哪里犯了错误吗?
确切的错误信息:
SQL 错误 [1064] [42000]:您的 SQL 语法有错误;查看 与您的 MySQL 服务器版本相对应的手册 在第 19 行 SQL 错误 '' 附近使用的语法
MySQL 版本: 5.5.46
感谢您的帮助!
【问题讨论】: