Te falta delimiter
personalizado instrucción.
Como te lo perdiste, el motor trató de compilar las declaraciones cuando encontró el primer terminador de declaración predeterminado, el punto y coma ;
. Y de ahí la excepción.
Coloca toda tu rutina entre:
-- define the delimiter
delimiter //
--- place here your stored procedure
-- and lastly following line
//
-- reset the delimiter
delimiter ;