CREATE PROCEDURE pro_historypath(
warnid VARCHAR(50),
type VARCHAR(50)
)
BEGIN
DECLARE longitude VARCHAR(50);
DECLARE latitude VARCHAR(50);
DECLARE done int;
DECLARE t_error INT;
delete from historypath where warmid=warmid and type=type;
if type=0 then
BEGIN
DECLARE c_historypath CURSOR for SELECT longitude,latitude from historypath_base ORDER BY id ASC;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
end

ELSE
 THEN
BEGIN
DECLARE c_historypath CURSOR for SELECT longitude,latitude from historypath_base ORDER BY id DESC;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
END
end if; open c_history;

out_loop:LOOP
FETCH NEXT FROM c_historypath INTO longitude,latitude;
IF done = 1 THEN
            LEAVE out_loop;
END IF;
INSERT into historypath VALUES(UUID(),warmid,longitude,@latitude,NOW(),type);
COMMIT SLEEP(1) FETCH  FROM c_historypath into longitude,latitude ;
end loop out_loop;
CLOSE c_historypath;
DEALLOCATE c_historypath;
end;