我试图让它像那样,但它只返回单行。第一次选择后程序退出。
DROP PROCEDURE IF EXISTS testProc;
DELIMITER $$
CREATE PROCEDURE testProc(start_stamp INT, end_stamp INT, step INT)
BEGIN
DECLARE tmpStep INT;
SET tmpStep = start_stamp;
WHILE tmpStep < end_stamp DO
SELECT tmpStep;
SET tmpStep = tmpStep + step;
END WHILE;
END$$
DELIMITER ;
CALL testProc (1,10,1);
在这种情况下,所需的行为是返回从 1 到 10 的数字。