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;