mysql存储过程语法 if,MySQL-使用`if`的存储过程中的语法错误

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

it gives error in line no# 4

解决方案

You have not used THEN keyword and END IF.

Try this:

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值