CREATE PROCEDURE updateBdAreaData()
BEGIN
declare stopFlag int;
DECLARE dataid varchar(100);
declare repeatCount int;
declare i int; -- 循环变量
-- 申明游标
declare dataCursor cursor for
select fid,count(1) from t_bd_newarea group by fid having count(1) > 1;
-- 申明跳出循环
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN dataCursor;
REPEAT
FETCH dataCursor INTO dataid,repeatCount;
BEGIN
set i =repeatCount-1;
if i = 2 THEN
delete from t_bd_newarea where fid = dataid limit 2;
end if;
END;
UNTIL stopFlag = 1
END REPEAT;
CLOSE dataCursor;
END;
call updateBdAreaData(); -- 调用存储过程
COMMIT; --提交
BEGIN
declare stopFlag int;
DECLARE dataid varchar(100);
declare repeatCount int;
declare i int; -- 循环变量
-- 申明游标
declare dataCursor cursor for
select fid,count(1) from t_bd_newarea group by fid having count(1) > 1;
-- 申明跳出循环
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN dataCursor;
REPEAT
FETCH dataCursor INTO dataid,repeatCount;
BEGIN
set i =repeatCount-1;
if i = 2 THEN
delete from t_bd_newarea where fid = dataid limit 2;
end if;
END;
UNTIL stopFlag = 1
END REPEAT;
CLOSE dataCursor;
END;
call updateBdAreaData(); -- 调用存储过程
COMMIT; --提交