Я сделал хранимую процедуру.MySQL Различные результаты на WebService Call и WorkBench Call
Когда я протестировал его с помощью workbench call, он работал хорошо. но если я назвал это внутри вызова webservice, я получил 1217 результат. (определено в процедуре)
myTable состоит из 3 столбцов (user_no, index, count) , и эта процедура предназначена для вычитания нескольких строк.
DECLARE _affected_count INT DEFAULT 0;
IF (o_ouput1 < i_input1) THEN
SET o_result = 1211;
LEAVE proc_body;
ELSEIF (i_input1 > 0) THEN
SET _affected_count = _affected_count + 1;
END IF;
IF (o_ouput2 < i_input2) THEN
SET o_result = 1212;
LEAVE proc_body;
ELSEIF (i_input2 > 0) THEN
SET _affected_count = _affected_count + 1;
END IF;
// То же самое для INPUT3 ~ INPUT6
UPDATE myTable
SET count = CASE WHEN index = 1 AND i_input1 > 0 AND count >= i_input1 THEN count - i_input1
WHEN index = 2 AND i_input2 > 0 AND count >= i_input2 THEN count - i_input2
WHEN index = 3 AND i_input3 > 0 AND count >= i_input3 THEN count - i_input3
WHEN index = 4 AND i_input4 > 0 AND count >= i_input4 THEN count - i_input4
WHEN index = 5 AND i_input5 > 0 AND count >= i_input5 THEN count - i_input5
WHEN index = 6 AND i_input6 > 0 AND count >= i_input6 THEN count - i_input6
ELSE count END
WHERE user_no = i_user_no AND index IN (1, 2, 3, 4, 5, 6);
IF (ROW_COUNT() <> _affected_count) THEN
SET o_result = 1217;
LEAVE proc_body;
END IF;
Проблема есть .. Если я называю эту процедуру в верстаке, он хорошо работает.
Я не могу понять, почему это изменилось, когда я назвал его верстаком и вебметодом.
Есть ли кто-нибудь, кто может это объяснить?