内のif文でストアドプロシージャを作成しようとしました。 コピー元:https://dev.mysql.com/doc/refman/5.7/en/local-variable-scope.htmlMySQL構文エラー - END IF行
しかし、私は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構文でエラーが発生しています。助けのための 5.5.46
ありがとう:19行SQLエラー
MySQLバージョンで「」の近くに使用する権利 構文についてはMySQLサーバのバージョンに対応 マニュアルを確認してください!
このケースを明示的に試みましたが、動作しません。 –
私はEND IFステートメント(同じ行など)を配置するための他のソリューションも試しましたが、それでも動作しません。 –
@NorbertKoch、前の回答を無視...編集を参照してください。それが役に立てば幸い。 – Rahul