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 ;