Immagino che tu abbia appena dimenticato di includere la seguente riga nel tuo post:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
Il tuo codice è corretto, ma il comportamento bug/strano di mysql fa apparire l'avviso anche se è stato gestito. Puoi evitare che se aggiungi un'istruzione "fittizia" alla fine della tua procedura che coinvolge una tabella e ha esito positivo, questo cancellerà l'avviso. (Vedi http://dev.mysql.com/doc /refman/5.5/en/show-warnings.html )Nel tuo caso:
SELECT name INTO l_name FROM customer_tbl LIMIT 1;
dopo la fine del ciclo. Su MySQL 5.5.13 l'avviso scompare, su Linux e Windows. Ho commentato MySQL Bug 60840 e spero che lo risolvano in futuro...