我制作了一个存储过程。
当我使用工作台调用进行测试时,它运行良好。但如果我打电话给那个 在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;
问题是..如果我在工作台中调用此过程,则效果很好。
当我用workbench和webmethod调用它时,我无法理解为什么它会有所不同。
有没有人可以解释这个?
答案 0 :(得分:0)
我找到了答案
在Workbench中使用受影响的行选项,但不使用默认的webservice。
http://dev.mysql.com/doc/refman/5.5/en//information-functions.html#function_row-count