mysql存储过程的返回值在哪里设置_MySQL存储过程的返回值
我必須創建一個SP,如果它有效,則返回一個值.但它不返回任何東西,我不知道,為什么?
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
這句話SELECT valido;應該像這樣的SELECT @valido;
看看這個鏈接mysql stored-procedure: out parameter.注意7個upvotes的解決方案.他用@符號引用了參數,因此我建議你在參數valido之前添加一個@符號
我希望這對你有用.如果它確實投票并將其標記為答案.如果沒有,請告訴我.
標簽:mysql,return-value,stored-procedures
來源: https://codeday.me/bug/20191005/1854936.html
總結
以上是生活随笔為你收集整理的mysql存储过程的返回值在哪里设置_MySQL存储过程的返回值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恋与制作人氪金档次(汉典恋字的基本解释)
- 下一篇: thinkPHP5框架数据库cache(