gpt4 book ai didi

mysql - 在 mySQL 中完成函数时遇到问题

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

当我处理函数时,我喜欢首先测试独立的 select 语句。我这样做了并且成功了。我的问题是当我尝试将其转换为函数时。

这是 select 语句,它可以工作

select sum(item.retailPrice * orderItem.quantity)
from orderItem
join orders
on orders.orderId = orderItem.orderId
join item
on item.itemId = orderItem.itemId
where orders.orderId = 4

这是我的函数,它给出了错误。

CREATE FUNCTION getTotalPrice(oId int) 
RETURNS int
READS SQL DATA
BEGIN
declare total int;
select sum(item.retailPrice * orderItem.quantity) into total
from orderItem
join orders
on orders.orderId = orderItem.orderId
join item
on item.itemId = orderItem.itemId
where orders.orderId = oId
return total;
END$$

该函数应该允许用户输入他们的 orderId。

最佳答案

如果您使用 SELECT INTO 选择变量,则需要使用 @ 符号作为这些变量的前缀。不幸的是SQLFiddle现在没有响应,因此我可以验证此建议,但我建议尝试更改这两行:

select sum(item.retailPrice * orderItem.quantity) into total
...
return total;

对此:

select sum(item.retailPrice * orderItem.quantity) into @total
...
return @total;

祝你好运!

关于mysql - 在 mySQL 中完成函数时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40644422/

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