USE milkstore;
DELIMITER $$
DROP PROCEDURE IF EXISTS `p1`$$
CREATE PROCEDURE p1()
BEGIN
DECLARE flag INT DEFAULT 0;
DECLARE courseId INT;
DECLARE userId INT;
DECLARE createdTime DATETIME;
DECLARE _cur CURSOR FOR
SELECT course_id,user_id,created_time FROM course_user GROUP BY course_id,user_id,created_time HAVING COUNT(course_id) > 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
OPEN _cur;
sign1:LOOP
FETCH _cur INTO courseId,userId,createdTime;
IF flag=1 THEN -- 當無法fetch會觸發handler continue,解決遍歷到結果集末尾報錯問題
LEAVE sign1;
END IF;
DELETE FROM course_user WHERE course_id = courseId AND user_id = userId AND created_time = createdTime;
END LOOP;
CLOSE _cur;
END$$
DELIMITER ;
CALL p1();
mysql遊標使用-遍歷結果集
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.