use database;
DROP PROCEDURE IF EXISTS foo;
CREATE PROCEDURE foo(x INT, y INT)
BEGIN
DECLARE bla INT;
END
> Syntaktisch müsste der Code doch in Ordnung sein?!
Hast Du diesen Code abgesandt oder ist das nur eine Skizze? "use database" sieht merkwürdig aus.