Masz kilka problemów w swojej procedurze. Po pierwsze, jak opisano w podręczniku :
Musisz więc przenieść
set @dateval = `wanted_date`;
po wszystkim DECLARE s (łącznie z kursorem i obsługą kontynuacji).
Po drugie, twoja deklaracja colval jest niepoprawny, string nie jest prawidłowym typem danych i należy go zastąpić text :
declare colval text default null;