mysql 存储过程 return,MySQL存储过程返回值

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

解决方案

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

This statement SELECT valido; should be like this SELECT @valido;

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.

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值