Navicat
 sql >> Datenbank >  >> Database Tools >> Navicat

MySQL - Syntaxfehler in gespeicherter Prozedur mit "if".

Sie haben THEN nicht verwendet Schlüsselwort und END IF .

Versuchen Sie Folgendes:

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;