mysql(20) : 遊標

參考 : 

    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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章