0
私が関数を操作するときは、まずスタンドアロンのselect文をテストするのが好きです。私はそれを行い、それはうまくいった。私の問題は、それを関数に変換しようとするときです。mySQLの関数を完了する際に問題が発生する
これは、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を入力できるようにする必要があります。
簡単な答えは、あなたは本当にこれらの単純なクエリのための関数を記述する必要はありません。 – e4c5
'RETURN'の上の行の最後にセミコロンがありません。 –