Navicat
 sql >> Base de données >  >> Database Tools >> Navicat

MySQL - Erreur de syntaxe dans la procédure stockée à l'aide de `if`

Vous n'avez pas utilisé PUIS mot-clé et END IF .

Essayez ceci :

SET @ExistedRefID = NULL;
SELECT ReferenceID INTO @ExistedRefID 
FROM filesrefrences 
WHERE RefrenceKey= pRefrenceKey;

IF (@ExistedRefID IS NULL) THEN 
    INSERT INTO filesrefrences(RefrenceKey, RefrenceCount)
    VALUES(pRefrenceKey,1);
    SELECT LAST_INSERT_ID();
ELSE
    UPDATE filesrefrences
    SET RefrenceCount= RefrenceCount+1
    WHERE ReferenceID= @ExistedRefID;
    SELECT @ExistedRefID;
END IF;