mysql 游标select再insert

有如下查询:

 DECLARE _f1, f2 int DEFAULT 0;
 DECLARE _cursor CURSOR FOR
 SELECT f1, f2 FROM tb1;

 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;
 OPEN _cursor;
 SET _done = 0;
 REPEAT
   FETCH _cursor into _f1, _f2;
   IF _done = 0 then
     INSERT tb2 VALUES(_f1, _f2);
   END IF;
 UNTIL _done END REPEAT;
 CLOSE _cursor;

假如tb1表中有N条数据,那么如果我在repeat里面不加上

IF _done = 0 then
     INSERT tb2 VALUES(_f1, _f2);
   END IF;

而是直接


    INSERT tb2 VALUES(_f1, _f2);

那么最终tb2里面会有N+1条数据。

猜你喜欢

转载自blog.csdn.net/suhiymof/article/details/81068517
今日推荐