MySqlException:对于带有游标的存储过程,子查询返回多于1行

问题描述

你好,我有以下用于MySQL的存储过程,但是当它在我的ASP.NET Core应用程序中执行时,我得到一个子查询返回多个行错误。我在这里做错了什么?等效的SQL Server版本过去可以正常工作...

-- System Calculates Candidate’s Matching Score based on a Manager’s Answer Weights
CREATE PROCEDURE spSysCalcCandScore
(
    IN Candidate_ID INT,IN Manager_ID INT
)
Begin
    DECLARE ansID INT;
    DECLARE tempSum INT;
    DECLARE Sum INT;
    DECLARE Done INT DEFAULT FALSE;
    DECLARE MyCursor CURSOR FOR
    SELECT Answer_ID FROM Completed_Questionnaire
    WHERE Candidate_ID = Candidate_ID;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET Done = TRUE;
    START TRANSACTION;
        OPEN MyCursor;
        myloop: LOOP
            FETCH  MyCursor INTO ansID;
            IF Done THEN
                LEAVE myloop;
            END IF;
            SET tempSum = (SELECT Weight_Value FROM Weight WHERE (Answer_ID = ansID AND Manager_ID = Manager_ID));
            SET Sum = Sum + tempSum;
        END LOOP;
        CLOSE MyCursor;
        
        IF (Sum IS NULL) THEN
            SET Sum = 0;
        END IF;
        
        UPDATE `Interest`
        SET Matching_Score = Sum
        WHERE (Candidate_ID = Candidate_ID AND Manager_ID = Manager_ID);
    COMMIT;
End//

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...