Manca il delimiter
personalizzato istruzione.
Poiché te lo sei perso, il motore ha provato a compilare le istruzioni quando ha trovato il primo terminatore di istruzione predefinito, il punto e virgola ;
. E quindi l'eccezione.
Metti tutta la tua routine tra:
-- define the delimiter
delimiter //
--- place here your stored procedure
-- and lastly following line
//
-- reset the delimiter
delimiter ;