Вы можете преобразовать ваши процедуры empata
, pierde
и gana
в функции и использовать их как закодировано в первом примере ниже:
-- works
SET @st = 'loc';
SELECT CASE @st
WHEN 'loc' THEN function_(@st)
END
INTO @dat;
SELECT @dat;
Я протестировал следующие сценарии, и они не 't work:
-- won't work
SET @st = 'loc';
IF @st = 'loc' THEN
function_(@st);
END IF;
-- won't work
SET @st = 'loc';
SELECT CASE @st
WHEN 'loc' THEN CALL stored_procedure_(@st)
END
INTO @dat;
SELECT @dat;
-- won't work
SET @st = 'loc';
IF @st = 'loc' THEN
CALL stored_procedure_(@st);
END IF;
По крайней мере, ни один из трех приведенных выше примеров не помог мне. Вы можете попробовать их и посмотреть, какой из них работает для вас.
Кроме того, ваш вопрос здесь такой же, как: MYSQL Вызов хранимых процедур внутри SELECT CASE по триггеру .., также опубликованному вами.Я не уверен, какой модератор закроет или сохранит, поэтому я тоже публикую этот ответ.Если в другой раз вы захотите ответить на заданный вами вопрос, который не получил приемлемого для вас ответа, просто увеличьте его, чтобы люди могли его увидеть снова.