gpt4 book ai didi

mysql - 如何在mysql函数中返回

转载 作者:行者123 更新时间:2023-11-29 01:53:05 25 4
gpt4 key购买 nike

嗨,我的 mysql 模式中有以下函数,这个函数应该像这样工作:

  if (especie=mEspecie && variedad=mVariedad) then
then return precio; else
return 0;
end if;

但不知何故它不起作用,有人可以在这里帮助我吗?

这是我的功能,自@vipin 回答以来我已经更新:

  CREATE DEFINER=`root`@`localhost` FUNCTION `BUSCA_PRECIO_MATRIZ`(mEspecie int, mVariedad int) RETURNS int(11)
READS SQL DATA
DETERMINISTIC
BEGIN
declare precio, especie,variedad integer;
declare cur1 cursor for
select ifnull(valor,0),idconf_especie,idconf_variedad from cc_matriz_precios_facturacion_recibidor where idconf_especie=mEspecie and idconf_variedad=mVariedad;

open cur1;
loop_cur : loop
fetch cur1 into precio,especie,variedad;
if(especie = mEspecie) then
if (variedad = mVariedad) then
return variedad;
LEAVE loop_cur;
else
return variedad;
leave loop_cur;
end if;
end if;
end loop;
return 0;
close cur1;
return 0;
END

最佳答案

在我的查询中,如果在检查条件后在 cc_matriz_precios_facturacion_recibidor 表中找到任何数据,则返回 true,否则返回 false

    CREATE FUNCTION `BUSCA_PRECIO_MATRIZ`(mEspecie int, mVariedad int) RETURNS int(11)
READS SQL DATA
DETERMINISTIC
BEGIN
declare precio, especie,variedad, flag int;

select valor,idconf_especie,idconf_variedad, 1 into precio, especie,variedad, flag
from cc_matriz_precios_facturacion_recibidor
where idconf_especie=mEspecie and idconf_variedad=mVariedad;
IF(flag) THEN
return 1;
ELSE
return 0;
END IF;
END

或者简而言之

CREATE FUNCTION `BUSCA_PRECIO_MATRIZ`(mEspecie int, mVariedad int) RETURNS int(11)
READS SQL DATA
DETERMINISTIC
BEGIN
declare precio, especie,variedad int;
DECLARE flag int default 0;

select valor,idconf_especie,idconf_variedad, 1 into precio, especie,variedad, flag
from cc_matriz_precios_facturacion_recibidor
where idconf_especie=mEspecie and idconf_variedad=mVariedad;
return flag;
END

关于mysql - 如何在mysql函数中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com