81,114
社区成员
发帖
与我相关
我的任务
分享drop PROCEDURE if EXISTS pro_test3 ;
DELIMITER $
create procedure pro_test3()
BEGIN
DECLARE v_id int DEFAULT 0;
DECLARE v_count int DEFAULT 0 ;
DECLARE v_allCount int DEFAULT 0;
DECLARE v_dateNotFount int default 0;
DECLARE my_cursor CURSOR for SELECT p.id,p.point from point p ;
DECLARE continue handler for NOT FOUND SET v_dateNotFount = 1;
OPEN my_cursor;
FETCH my_cursor INTO v_id,v_count;
loop_lable : LOOP
set v_allCount = v_allCount + v_count;
IF (v_allCount > 100) THEN
-- SET @id = v_id;
LEAVE loop_lable;
ELSEIF (v_dateNotFount = 1) THEN
-- SET @id = v_id;
LEAVE loop_lable;
ELSE
FETCH my_cursor INTO v_id,v_count;
ITERATE loop_lable;
END IF;
END LOOP;
CLOSE my_cursor;
SELECT * from point p where p.id <= v_id;
END $
DELIMITER ;
调用 CALL pro_test3();