2011-02-22 10 views
6

Tengo la siguiente consulta MySQL:MySQL Error de sintaxis de declaración de variables En

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// 

me sale un error en:

DECLARE winnerScore, loserScore INT; 

¿Qué estoy haciendo mal?

Respuesta

5

DECLARE s deben ir en la primera línea de su procedimiento.

Desde el docs: Se permite

DECLARE sólo dentro de un comando compuesto BEGIN ... END y deben estar en su inicio, antes de cualquier otra declaraciones.

+0

Gracias, no lo sabía. – SuprDewd

Cuestiones relacionadas