Vous avez quelques problèmes dans votre procédure. Tout d'abord, comme décrit dans le manuel :
Vous devez donc déplacer votre
set @dateval = `wanted_date`;
après tout le DECLARE s (y compris le curseur et le gestionnaire de continuation).
Deuxièmement, votre déclaration de colval est incorrect, string n'est pas un type de données valide et doit être remplacé par text :
declare colval text default null;