PREPARE语句MYSQL中的语法错误

时间:2014-12-22 23:02:15

标签: mysql syntax prepare

我的MYSQL脚本出了问题。当我尝试执行它时,MYSQL Workbench向我发送信息,我在“int”附近遇到语法问题。有什么想法吗?

DROP TABLE IF EXISTS Sprzedaz;
DROP PROCEDURE IF EXISTS odwrocenie;

CREATE TABLE IF NOT EXISTS Sprzedaz
(Towar VARCHAR(30), Miesiac VARCHAR(20), Wartosc INT);

INSERT INTO Sprzedaz VALUES('Buty', 'styczen', 230);
INSERT INTO Sprzedaz VALUES('Buty', 'styczen', 100);
INSERT INTO Sprzedaz VALUES('Koszula', 'styczen', 50);
INSERT INTO Sprzedaz VALUES('Koszula', 'luty', 80);
INSERT INTO Sprzedaz VALUES('Krawat', 'marzec', 190);

DELIMITER //
CREATE PROCEDURE odwrocenie()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE miesiac_var VARCHAR(20);
DECLARE miesiac_kursor CURSOR FOR SELECT Miesiac FROM Sprzedaz GROUP BY Miesiac;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

OPEN miesiac_kursor;
read_loop: LOOP 
    FETCH miesiac_kursor INTO miesiac_var;
  IF done THEN
        LEAVE read_loop;
    END IF;

    PREPARE sql_query FROM 'ALTER TABLE Sprzedaz ADD COLUMN ? INT';
  EXECUTE sql_query USING @miesiac_var;

END LOOP;
CLOSE miesiac_kursor;
DEALLOCATE PREPARE sql_query;
END
//
DELIMITER ;

    CALL odwrocenie();

0 个答案:

没有答案