mysql存储函数给出错误(如果-else)

时间:2019-05-16 06:37:43

标签: mysql if-statement stored-functions

我有一个无法正常执行的存储函数,但是我不知道自己在做什么错。我想检查密钥是否存在于数据库中。

  • 如果是->然后更新
  • 其他->创建

addGlobalStore(..)

1 个答案:

答案 0 :(得分:0)

修复语法错误-您将需要调整输入参数。

drop function if exists f;
delimiter $$
create function f(inf varchar(10))
returns varchar(10)
BEGIN

IF EXISTS(SELECT MenuItemID FROM menuitem WHERE MenuItemID=_MenuItemID) then
    UPDATE menuitem 
        SET MenuID=_MenuID,ParentMenuID=_ParentMenuID,PosIndex=_PosIndex,XamlFileID=_XamlFileID,CanExpand=_CanExpand 
         WHERE MenuItemID=_MenuItemID;
ELSE
    INSERT INTO menuitem (MenuItemID,MenuID,ParentMenuID,PosIndex,XamlFileID,CanExpand) VALUES 
     (_MenuIt5nuID,_ParentMenuID,_PosIndex,_XamlFileID,_CanExpand);
end if;

RETURN ('success');

END $$

delimiter ;