退出游标这个很难搞啊,查了半天,还是看原文档
CREATE DEFINER = 'root'@'localhost'
PROCEDURE LoopByLine()
BEGIN
DECLARE MyStation char(20);
DECLARE N int DEFAULT 0;
DECLARE MyID int DEFAULT 0;
DECLARE MyScore dec(5,1);
DECLARE MyTotalScore dec(5,1);
DECLARE done INT DEFAULT FALSE;
DECLARE MyCursor CURSOR FOR
SELECT ID,Station,Score FROM StationScore;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
set MyTotalScore=0;
OPEN MyCursor;
read_loop:LOOP
FETCH MyCursor INTO MyID,MyStation,MyScore;
IF done THEN
LEAVE read_loop;
END IF;
set MyTotalScore=MyTotalScore+MyScore;
set N=N+1;
END LOOP;
CLOSE MyCursor;
SELECT MyTotalScore,N;
END