我们可以多次使用单个光标而不再打开它吗?

时间:2013-04-26 09:29:50

标签: mysql stored-procedures

我在mysql中有2个游标,第二个游标应该在每次第一次游标迭代时运行而不再打开它。任何的想法?提前致谢 例如: -

DECLARE email_not_found INT DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET email_not_found = 1; 
open cur1;
open cur2;

REPEAT
FETCH cur1 INTO s1;

REPEAT
   FETCH cur2 INTO s2;

   if s1=s2
      do something.

UNTIL email_not_found=1 END REPEAT;

UNTIL email_not_found=1 END REPEAT; 
close cur1;
close cur2;

1 个答案:

答案 0 :(得分:1)

每次都需要打开光标。根据MySQL游标文档,游标是只读和不可滚动的:只能在一个方向遍历,不能跳过行

由于这个原因,你无法倒回它,你需要在循环中打开光标。