我定义返回的是int  但是报错
错误代码: 1415
Not allowed to return a result set from a function
代码如下:在线等 急
DELIMITER $$
/*DROP FUNCTION IF EXISTS `getsubcodestepnum`$$*/
CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    FUNCTION `sd35822_sample`.`getsubcodestepnum`(subcode VARCHAR(255))
    RETURNS INT(11)
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
DECLARE step1 INT;
DECLARE step2 INT;
DECLARE step3 INT;
DECLARE step4 INT;
DECLARE step5 INT;
DECLARE step6 INT;
DECLARE step7 INT;
DECLARE step8 INT;
DECLARE step9 INT;
DECLARE step10 INT;

DECLARE acc_step0 INT;
DECLARE acc_step1 INT;
DECLARE acc_step2 INT;
DECLARE acc_step3 INT;
DECLARE acc_step4 INT;
DECLARE acc_step5 INT;
DECLARE acc_step6 INT;
DECLARE acc_step7 INT;
DECLARE acc_step8 INT;
DECLARE acc_step9 INT;
DECLARE num INT(11) DEFAULT 0;
 SELECT acc_step0 = IFNULL(step0,0), 
acc_step1 = IFNULL(step1,0),
acc_step2 = IFNULL(step2,0),
acc_step3 = IFNULL(step3,0),
acc_step4 = IFNULL(step4,0),
acc_step5 = IFNULL(step5,0),
acc_step6 = IFNULL(step6,0),
acc_step7 = IFNULL(step7,0),
acc_step8 = IFNULL(step8,0),
acc_step9 = IFNULL(step9,0)
FROM accinfo; SET step1 = acc_step0;
SET step2 = step1 + acc_step1;
SET step3 = step2 + acc_step2;
SET step4 = step3 + acc_step3;
SET step5 = step4 + acc_step4;
SET step6 = step5 + acc_step5;
SET step7 = step6 + acc_step6;
SET step8 = step7 + acc_step7;
SET step9 = step8 + acc_step8;
SET step10 = step9 + acc_step9; IF (LENGTH(subcode) = step1) THEN 
SET num=1;
ELSEIF (LENGTH(subcode) = step2) THEN 
SET num=2;
ELSEIF (LENGTH(subcode) = step3) THEN 
SET num=3;
ELSEIF (LENGTH(subcode) = step4) THEN 
SET num=4;
ELSEIF (LENGTH(subcode) = step5) THEN 
SET num=5;
ELSEIF (LENGTH(subcode) = step6) THEN 
SET num=6;
ELSEIF (LENGTH(subcode) = step7) THEN 
SET num=7;
ELSEIF (LENGTH(subcode) = step8) THEN 
SET num=8;
ELSEIF (LENGTH(subcode) = step9) THEN 
SET num=9;
ELSEIF (LENGTH(subcode) = step10) THEN 
SET num=10;
END IF;
RETURN num;

    END$$DELIMITER ;