參考 :
https://my.oschina.net/zjds/blog/167948?p={{c
https://blog.csdn.net/qq_24754061/article/details/89922930
https://www.cnblogs.com/jinglikeblue/p/4398757.html
注 : 變量的定義不要和你的select的列的鍵同名!不然,fetch into 會失敗!
CREATE PROCEDURE `test_you_biao`()
COMMENT '測試遊標'
BEGIN
# 聲明結束標識
DECLARE END_FLAG INT DEFAULT 0;
# 變量1-code
DECLARE S_CODE VARCHAR(32);
# 聲明遊標 CUR1
DECLARE CUR1 CURSOR FOR
SELECT `code` FROM `test` limit 100;
# 設置終止標誌
DECLARE CONTINUE HANDLER FOR NOT FOUND SET END_FLAG=1;
# 打開遊標
OPEN CUR1;
# 遍歷遊標
REPEAT
# 獲取當前遊標指針記錄,取出值賦給自定義的變量
FETCH CUR1 INTO S_CODE;
# 不加條件最後一個會遍歷兩次
IF !END_FLAG THEN
select S_CODE;
END IF;
# 根據 END_FLAG 判斷是否結束
UNTIL END_FLAG END REPEAT;
# 關閉遊標
CLOSE CUR1;
END
END。