Chyba zapomniałeś zamieścić w swoim poście następujący wiersz:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
Twój kod jest poprawny, ale błąd/dziwne zachowanie mysql powoduje pojawienie się ostrzeżenia, nawet jeśli zostało obsłużone. Możesz tego uniknąć, jeśli na końcu procedury dodasz „fałszywą” instrukcję, która dotyczy tabeli i zakończy się powodzeniem, spowoduje to usunięcie ostrzeżenia. (Patrz http://dev.mysql.com/doc /refman/5.5/en/show-warnings.html )W Twoim przypadku:
SELECT name INTO l_name FROM customer_tbl LIMIT 1;
po zakończeniu pętli.W MySQL 5.5.13 ostrzeżenie znika, w Linuksie i Windows.Komentowałem MySQL Bug 60840 i mam nadzieję, że naprawią go kiedyś w przyszłości...