MySQL-使用`if`的存储过程中的语法错误 [英] MySQL - Syntax Error in Stored Procedure using `if`
本文介绍了MySQL-使用`if`的存储过程中的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要知道以下存储过程中的错误是什么,因为乞求mySql我无法理解什么是错误
I need to know what is the error in the following stored procedure, as begging with mySql I can't understand what is the error
if not EXISTS( select filesrefrences.ReferenceID from filesrefrences where filesrefrences.RefrenceKey= pRefrenceKey)
BEGIN
Insert into filesrefrences
(
filesrefrences.RefrenceKey,
filesrefrences.RefrenceCount
)
VALUES
(
pRefrenceKey,
1
);
select LAST_INSERT_ID();
END
ELSE
BEGIN
UPDATE filesrefrences
set filesrefrences.RefrenceCount= filesrefrences.RefrenceCount+1
WHERE filesrefrences.ReferenceID= ExistedReferenceID;
SELECT ExistedReferenceID;
END
在第4行出现错误
推荐答案
您尚未使用 THEN 关键字和 END IF .
You have not used THEN keyword and END IF.
尝试一下:
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;
这篇关于MySQL-使用`if`的存储过程中的语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文