2013-05-26 5 views
0

Я хочу создать хранимую процедуру MySQL, которая содержит ряд условий для проверки.Перейти в хранимую процедуру MySQL

IF (a && b) then 
    IF c =1 then 
    IF d < e then 
     check conditions 1,2,3... 
    END IF 
    ELSE 
    check conditions 1,2,3... 
    END IF 
END IF 

Я хочу написать процедуру таким образом, что условие 1,2,3 должно быть написано как общие, так что процедура будет как

IF (a && b) then 
IF c =1 then 
    IF d < e then 
    goto label check; 
    END IF 
ELSE 
    goto label check; 
END IF 
END IF 

label:label check; 
    check conditions 1,2,3... 

Поскольку Гото нет в MySQL хранится процедура, как я могу написать процедуру?

ответ

0

Попробуйте это:

IF a AND b THEN 
    IF c = 1 AND d < e OR c != 1 then 
    check conditions 1,2,3... 
    END IF 
END IF 
0

Я бы посоветовал против использования goto, даже при наличии (*).

Вы код можно упростить следующим образом:

IF a AND b AND (c != 1 OR d < e) THEN 
    check conditions 
END IF 

Кроме того, смешивание litteral (AND, OR) логические операторы и их символические аналоги (&&, ||) делает ваш код выглядеть странно (но это только мое мнение).

Просто, чтобы избежать пламени войны, да иногда немного Гото не так уж плохо, но это идеальный пример злоупотребления Гото

Смежные вопросы