2011-02-22 12 views
6

Ho la seguente query MySQL:MySQL Errore di sintassi Nella dichiarazione delle variabili

DELIMITER // 
CREATE PROCEDURE InsertResult (IN winnerID INT, IN loserID INT) 
BEGIN 
    INSERT INTO KomperResult (WinnerID, LoserID) VALUES (@winnerID, @loserID); 
    DECLARE winnerScore, loserScore INT; 
    SELECT Score INTO @winnerScore FROM KomperPerson WHERE ID = @winnerID; 
    SELECT Score INTO @loserScore FROM KomperPerson WHERE ID = @loserID; 
    IF (@loserScore >= @winnerScore) THEN UPDATE KomperPerson SET Score = @loserScore + 1 WHERE ID = @winnerID; END IF; 
END// 

ottengo un errore:

DECLARE winnerScore, loserScore INT; 

Che cosa sto facendo di sbagliato?

risposta

5

DECLARE s bisogno di andare sulla prima riga della procedura.

Dal docs:

DECLARE è consentita solo all'interno di un BEGIN ... END istruzione composta e devono essere al suo inizio, prima di ogni altra dichiarazioni.

+0

Grazie, non lo sapeva. – SuprDewd

Problemi correlati