カーソルのループ内でMySQLのストアドプロシージャを呼び出そうとしています。ループ内でINSERTを実行すると、カーソルは正しく動作します。しかし、ストアドプロシージャを呼び出そうとすると、continueHandler'はdone=1'に設定され、最初のレコードが処理された後、ループを途中で終了します。これを回避する方法について何か考えはありますか?ありがとう。
declare test_cursor cursor for
select projectid, projectdesc
from tblProjects
order by projectdesc;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
set done = 0;
open test_cursor;
repeat
fetch test_cursor into wprojectid, wprojectdesc;
if not done then
insert into tblTest (a, b) values (wprojectid, wprojectdesc); <--this would work
call spTest(wprojectid, wprojectdesc, @retrn); <--this trips the Handler after first loop
end if;
until done end repeat;
close test_cursor;