Myslím, že jste do svého příspěvku zapomněli uvést následující řádek:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
Váš kód je správný, ale bug/podivné chování mysql způsobuje, že se varování objeví, i když bylo zpracováno. Můžete se vyhnout tomu, že pokud na konec procedury přidáte "fiktivní" příkaz, který zahrnuje tabulku a je úspěšný, toto varování vymaže. (Viz http://dev.mysql.com/doc /refman/5.5/en/show-warnings.html )Ve vašem případě:
SELECT name INTO l_name FROM customer_tbl LIMIT 1;
po skončení cyklu.Na MySQL 5.5.13 varování zmizí, na Linuxu a Windows.Komentoval jsem chybu MySQL 60840 a doufám, že to někdy v budoucnu opraví...