尽管我的过程代码具有正确的“ if”(即正确打开和关闭的“ if”),但是mysql workbench 8.0抛出一个错误,指出所有“ if”均未正确关闭。我也找不到其他错误。请帮帮我。
如果我最后添加了额外的“ if”,则错误消失了。但这是不正确的,因为那些“ end if”没有任何if以便可以关闭。尽管它没有显示任何错误,但在应用带有附加“ end if”的过程时却没有被应用而是引发其他错误。
IF(Ser ='search') THEN
IF(Value = 0) THEN
IF EXISTS(SELECT Role FROM U WHERE Name = name) THEN
IF(O = 0) THEN
IF(F1 <> NULL AND F1V <> NULL AND
F2 = NULL AND F2V = NULL
) THEN
IF EXISTS (SELECT * FROM Com ) THEN
SET V=0;
END IF;
ELSE IF (F1<> NULL AND F1V <> NULL AND
F2 <> NULL AND F2V <> NULL
) THEN
IF EXISTS ( SELECT * FROM Com ) THEN
SET V=1;
END IF;
END IF;
ELSE IF(O = 1) THEN
SET A=0;
END IF;
END IF;
END IF;
END IF;
答案 0 :(得分:0)
if var='search' then
if var=0 then
if exists(select statement) then
end if;
elseif var=1 then
if exists(select statement) then
end if;
end if;
end if;
根据mysql文档,问题在于if语句与if函数不同。尝试不带括号使用。
答案 1 :(得分:0)
我将else if条件更改为if并开始工作。