我必须创建一个返回有效值的SP.但是它什么也没返回,我也不知道,为什么?
I have to create an SP that returns a value if it's valid or not. But it doesn't return anything and I don't know, why?
CREATE DEFINER=`root`@`localhost` PROCEDURE `validar_egreso`( IN codigo_producto VARCHAR(100), IN cantidad INT, OUT valido INT(11) ) BEGIN DECLARE resta INT(11); SET resta = 0; SELECT (s.stock - cantidad) INTO resta FROM stock AS s WHERE codigo_producto = s.codigo; IF (resta > s.stock_minimo) THEN SET valido = 1; ELSE SET valido = -1; END IF; SELECT valido; END推荐答案
您已正确完成了存储过程,但我认为您没有正确引用valido变量.我在看一些示例,他们在类似@Valido
You have done the stored procedure correctly but I think you have not referenced the valido variable properly. I was looking at some examples and they have put an @ symbol before the parameter like this @Valido
此语句SELECT valido;应该类似于SELECT @valido;
查看此链接 mysql storage-procedure:out参数.注意解决方案的7个投票.他用@符号引用了该参数,因此我建议您在参数有效值之前添加一个@符号
Look at this link mysql stored-procedure: out parameter. Notice the solution with 7 upvotes. He has reference the parameter with an @ sign, hence I suggested you add an @ sign before your parameter valido
我希望对您有用.如果确实投票并标记为答案.如果没有,告诉我.
I hope that works for you. if it does vote up and mark it as the answer. If not, tell me.
更多推荐
MySQL存储过程的返回值
发布评论