2011-02-22 15 views
6

Mam następujące zapytanie MySQL:MySQL Syntax Error W deklaracji zmiennej

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

pojawia się błąd na:

DECLARE winnerScore, loserScore INT; 

Co robię źle?

Odpowiedz

5

DECLARE s należy przejść do pierwszej linii procedury.

Z docs:

DECLARE jest dozwolone tylko Wewnątrz BEGIN ... END instrukcja złożona i musi być na jej początku, przed jakimikolwiek innymi wypowiedzi.

+0

Dzięki, nie wiedziałem o tym. – SuprDewd

Powiązane problemy